00:38 danaj joined 01:48 ilbot3 joined 02:11 vendethiel joined 02:31 colomon joined 02:35 colomon joined 05:22 pyrimidine joined 07:34 FROGGS joined 07:52 zakharyas joined 08:17 brrt joined
brrt timotimo: you can merge jit_devirt_reprops_4 if you wish 08:17
btw, i suppose you've all seen github.com/hintjens/zs 08:24
i have one thing to say..... does the author think we've regressed since the 80's with direct threaded interpreters? 08:25
i mean, why even encode an interpretation mode in your language 08:26
timotimo i havent seen it 09:09
brrt wants to be javascript, but based on forth and zeromq 09:14
it's a bad idea
timotimo zeromq? how does that fit? 09:56
10:49 vendethiel joined
brrt it does not :-) 11:09
timotimo No recursive descent parsers either. A language that needs recursion to parse it is too complex. ← huh? 11:14
"I don't see why regular expressions, commands, keystrokes, or template code should have different syntaxes. They're all text." - wow, that goes in the complete opposite direction from perl6 11:16
brrt i don't see why we can't all just write lisp, forth, or failing that, assembly language 11:17
:-P
i mean
complexity is additive, thus complexity of your program is the complexity of the language + the complexity of your code, therefore a complex language will always yield more complex programs, q.e.d 11:19
(find the five logic flaws)
dalek Heuristic branch merge: pushed 32 commits to MoarVM by timo 11:38
timotimo thank you, brrt
... 32 commits?
oh my
brrt yes 11:40
long list
hard work
perchance a non-ff merge? 11:41
timotimo oh
brrt oh, no, oh well :-)
timotimo i can still put a non-ff merge commit on top 11:42
brrt yeah, but it doesn't matter all that much
timotimo hm
brrt although maybe it matters for disecting
11:42 vendethiel joined
brrt i can fix it i think, if you want 11:44
timotimo oh?
it'd be a great help if you gave me the commit id that was pre-merge 11:45
i seem to lack my favourite git log alias
dalek arVM: 9ffd57c | brrt++ | src/ (4 files):
Merge remote-tracking branch 'origin/jit_devirt_reprops_4'
timotimo perfect
brrt 1475976 was your commit :-)
that was easier than i thoughth, no forcing was required 11:46
timotimo of course not
:)
what should i do next-ish? 11:47
brrt eh...
timotimo i don't feel like working on UDP sockets again
brrt what do you want to do, and how much time do you have for it
timotimo i want perl6 to be better :P
brrt right. so do i :-)
that said, i wouldnt know how to do anything about the nqp/rakudo stack 11:48
tracing has been on my mind, but it's more complex than it looks in some cases
timotimo most probably
FROGGS timotimo: you are more interested in C stuff, right?
brrt do we have something like a shared wiki page where we can dump ideas?
timotimo more in C than in what? 11:49
FROGGS Perl 6
brrt (when i say it's more complex than it looks, that means i think i've some unresolved issues, not that it's nearly impossible)
FROGGS like, you seem to be more interesting in tuning MoarVM than working on nqp/rakudo itself
timotimo i like both
FROGGS timotimo: well, then grepping for #?rakudo in roast might be inspiring... it is at least for me 11:50
brrt roadmap says nativeref optimization would be desirable 11:51
i'd.... think that would be doable, but not very small
timotimo i've been banging my head against trying to get local/localref code-gen working properly 11:52
that's more or less a prerequisite to having nativeref optimizations have a big effect, i think?
well, i suppose it can make lexicalref things better, too 11:53
brrt alright, lets rubber duck a bit :-) 11:57
what does local/localref do
timotimo right, the thing i'm talking about is having a variable that's defined to be a local accessed somewhere in a scope set to localref
or the other way around, having a variable that's defined to be a localref accessed as a local 11:58
currently, the code-gen for one of these cases throws a bogus instruction right in the middle of the code that makes things blow up
brrt ok, is that always the same bogus instruction? 11:59
do you know what inserts it?
timotimo i haven't found what inserts it
gimme a second, i'll find it for you again
brrt :-D
timotimo i mean, find what instruction it is 12:00
brrt right 12:01
my next question would be, are you sure the information in the oplist is correct
timotimo bleh, gnome3 just stole my mouse 12:02
hum 12:03
this is an output i don't remember seeing
not ok 1 - localref of type int with value 23 assigned to itQAST::Var with scope 'localref' NYI 12:04
QAST::Var with scope 'localref' NYI
... what?
didn't i just implement that ...
well, anyway ... the code is in "mast_localref_2" 12:06
in t/moar/02*t
i'll be AFK for a bit 12:07
brrt ok, that's the branch? 12:10
timotimo yes, that's right 12:33
ah, i know what i did wrong 12:36
i ran "make" instead of "make install"
brrt :-D 12:37
that is a moarvm branch, right 12:38
because i can't fetch it
timotimo no, an nqp branch 12:40
not ok 4 - a localref'd var can have a local ref'd thing bound to it and accessed (str)Cannot assign to an immutable value
moar doesn't even have a t/ :)
brrt quite true 12:42
which is probably right, and probably wrong, at the same time
timotimo check this 12:47
gist.github.com/timo/ac81c1ee775152202e23
you see that decont_s there? 12:48
we're getting the string out of the strlexref, boxing it into a Str and trying to assign to that Str box 12:49
which ... wat
oh, hold on
maybe decl'ing a localref with :returns(str) is the culprit? 12:50
removing that gets rid of the bogus str boxing at least
gist updated 12:51
brrt let me see 13:00
not sure i fully understand... 13:01
timotimo that's what i'm here for 13:02
isn't it fun when the duck and duckee switch places? :P 13:03
ah 13:04
sorry, the explanation was wrong
what i really wanted to point out was this:
assign_s is trying to assign into a register that hasn't been set up with anything
er
that's also not true
but why does it decont? :( 13:05
brrt for safety 13:15
13:16 cygx joined
timotimo i just dcon't understand 13:17
cygx should dynload on windows be patched to use something like LoadLibraryExA(libPath, NULL, LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR | LOAD_LIBRARY_SEARCH_DEFAULT_DIRS) instead of plain LoadLibraryA(libPath)?
brrt ok, the decont takes the string out of the localref and into r2 13:18
cygx LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR seems a reasonable thing to have
brrt const_s stores 'hooray' into in r3
assign_s assigns r3 into r2, which is impossible, because r2 holds a string and not a container
what it should be, i think, is assign(r1, r3) 13:19
cygx: sorry, our resident windows expert is at osdc.no i'm afraid :-)
if that goes on to search for libs in directories it is a nice-to-have and also a security risk, 13:20
possibly the dynload folks know the tradeoff there
cygx brrt: the alternative is to tell your users to add to their PATH 13:21
timotimo that's what it should be, yeah, brrt 13:31
it's also strange that moar emits a decont rather than a decont_s 13:32
how does that even work?
brrt you tell me
:-)
do you think this is a bug in moarvm level codegen? but that seems unlikely imho 13:33
timotimo it's in nqp 13:34
all moar does is turn a MAST into bytecode
i hope i didn't give you the impression i was looking at moar's internals to fix this
13:40 rurban joined
brrt ah, ok 13:41
could've been moar :-)
but yeah, i'm afraid i'm rather unhelpful here 13:42
timotimo aaw 13:43
brrt i know very little about nqp except how to use it 13:46
but anyway, that codegen is certainly of whack 13:47
timotimo good to know i'm not just hallucinating the problem 13:48
cygx .tell jnthn dynload might need patching: github.com/MoarVM/MoarVM/issues/214 13:54
no msg bot?
timotimo only in #perl6 so far 13:56
BBL 13:58
14:06 jepeway joined
brrt no, no message bot here 14:08
cygx needs to go 14:12
o/
14:12 cygx left
brrt \o 14:19
oh, too late 14:20
15:12 FROGGS joined 15:16 lizmat joined
jnthn oh noes... 15:38
compiling graph.c explodes on MSVC
lizmat on to the venue& 15:42
dalek arVM: 2015f07 | jnthn++ | src/jit/graph.c:
Unbust the MSVC build.
15:47
jnthn t stillf djfd 3 warnings
...
It still gives 3 warnings. 15:48
16:18 dlem joined
dlem \o/ 16:18
jnthn: I have looked more closely into the matter on the time spent on UTF-8 decoding. 16:22
Unfortunately I won't be able to make it to the OSDC - I've been hit by the flu and am just now starting to recover. 16:23
Anyway, here goes: 16:24
1: The three first functions in utf8.c should be marked MVM_STATIC_INLINE 16:25
2: The CHAR/NONCHAR distinction is incorrect, see www.unicode.org/versions/corrigendum9.html 16:28
(I should rather say; NONCHAR must not be disallowed!) 16:29
16:36 colomon joined
dlem 3: I have implemented The World's Fastest UTF-8 Decoder (TM) ;-), however this probably won't improve things that much for you - the decoding itself is already so fast that loop overhead and pipeline stalls may take longer time. 16:38
16:59 dlem joined 19:11 arnsholt joined
nebuchadnezzar mazette! nqp “make test” is somewhat faster on moar than on jvm ;-) 20:05
14 wallclock secs for MoarVM and 491 wallclock secs for JVM
arf, 6 t/hll/06-sprintf.t tests failes: Failed tests: 75-80 20:06
FROGGS nebuchadnezzar: what os are you on? 20:07
I think we had sprintf tests on freebsd only
nebuchadnezzar FROGGS: Debian, in a schroot 20:08
FROGGS hmmmm, strange
nebuchadnezzar FROGGS: I try to update the packaging of nqp since MoarVM is waiting in new queue of Debian
FROGGS 32bit by chance?
nebuchadnezzar 64 20:09
FROGGS ahh, packager you are
nebuchadnezzar yes
FROGGS then you probably use your packaged libtommath, which misses important patches
nebuchadnezzar: read github.com/perl6/nqp/issues/234 20:10
nebuchadnezzar ok, dod is my mentor and I did not notice is work, shame on me :-/ 20:11
FROGGS :o)
np
nebuchadnezzar erf, no release of libtommath since 23 Jul 2010 20:14
and dod already did the job github.com/libtom/libtommath/issues/35 :-D
23:33 lizmat joined
japhb Anyone happen to know if the .so file installation under panda got fixed? 23:37
timotimo i haven't kept sufficiently close tabs 23:38
i haven't run benchmarks in a long time, i think 23:40
but right now "turning lexicals into locals" is not really in effect, so we are sort of in the "pre-lowering era" again 23:41
and that makes me sad