github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
timotimo random discovery of the day: circumfix:<[ ]> from github.com/rakudo/rakudo/blob/mast...pm6#L6-L28 has a takeclosure + capturelex that even in the "before" bytecode isn't used. it points at line 15, which is "BEGIN nqp::getcurhllsym('default_cont_spec')". this prevents inlining, and I wonder if that causes lots of stuff not to be inlined all over the place; anything that has 03:25
p6scalarwithvalue that uses BEGIN to get at the default_cont_spec, in particular
Geth MoarVM: c130b7cdb4 | (Bart Wiegmans)++ | tools/jit-bisect.pl
[jit-bisect.pl] Give a --nodelay flag

So we can run with --nodelay and get more reliable answers
08:14
brrt \o 08:43
yoleaux 15 Nov 2018 20:16Z <nine> brrt: scratch that idea of JITing while interp shutdown. We don't reach the end of MVM_interp_run and not even the FUDGED! message in t/spec/S06-advanced/callframe.rakudo.moar. But in all cases, we finish all tests.
brrt ah, that's another one than t/02-rakudo/12-proto-arity-count.t 08:44
hmm, i'm getting JIT ERROR: Negative offset as well 08:56
jnthn timotimo: Hmm, that sounds a bit sub-optimial indeed...I guess it's an artefact of the BEGIN thunk, but we really don't need it by runtime 09:49
brrt so. the expression type as assigned is normal enough, it is the node type which is negative that is weird 10:19
oh, that wasn't actually so bad 10:24
we're being decently careless about signed/unsigned register types 10:27
Geth MoarVM: dd27d548a6 | (Bart Wiegmans)++ | 3 files
[JIT] Fix signedness issues

  - MVMOpInfo.operands are unsigned chars, and correctness in reading
   the mask depends on that, oops
  - Register allocator doesn't care about signedness (doesn't matter one
   bit for storage), so the same-register-type assertion can ignore the
   upper nibble.
10:36
brrt now you can all hate me a bit less again
dogbert11 brrt++ 10:59
timotimo i'm not sure i'm metaphysically capable of hating you any less, brrt 11:00
brrt hehe 11:03
well, you can hate the JIT a bit less then :-)
lizmat so, should we do a bump ?
brrt hmm
we might. But there's a bunch of branches I want to get in as well. And there's another issue that nwc10 reported that I think is something different 11:06
dogbert11 I do see a strange failure when running with MVM_SPESH_NODELAY=1 and MVM_SPESH_BLOCKING=1 11:23
'Too few positionals passed; expected 2 to 59464 arguments but got 0' 11:24
e.g. MVM_SPESH_NODELAY=1 MVM_SPESH_BLOCKING=1 ./perl6 t/spec/S06-multi/value-based.t 11:28
brrt dogbert11: I have no idea about that 12:59
dogbert11 brrt: it does disappear with MVM_JIT_DISABLE=1 perhaps I should try a bisect 13:05
timotimo does disabling only the exprjit also help? 13:06
dogbert11 timotimo: yes it does disappear 13:09
brrt hmmm
alright
timotimo then jit bisect could helep
dogbert11 have run the bisect three times, it always complains about the same frame (3226) 13:10
the generated file is here: gist.github.com/dogbert17/e4bb34ba...3e1054ec47 13:11
brrt hmm, that's suspicious 13:13
dogbert11 heh, another SEGV, Program terminated with signal SIGSEGV, Segmentation fault. 16:20
#0 MVM_spesh_stats_gc_mark (tc=tc@entry=0xfa66d0, ss=0x7f1c8010df80, worklist=worklist@entry=0x1115e80) at src/spesh/stats.c:671