01:27 MasterDuke joined 02:59 ilbot3 joined 04:42 AlexDaniel joined 06:13 reportable6 joined 06:16 reportable6 joined 06:38 brrt joined 06:41 reportable6 joined
brrt good * 06:46
yoleaux 25 Feb 2018 18:03Z <MasterDuke> brrt: the box_s jit-bisect data is here gist.github.com/MasterDuke17/e74e1...256ba2487a
brrt thanks :-)
07:44 quotable6 joined, greppable6 joined 07:45 brrt joined, KDr2 joined 07:59 domidumont joined 08:08 domidumont joined 08:21 robertle joined 08:26 zakharyas joined 08:30 zakharyas joined 08:56 zakharyas joined
brrt so far i can see that the expr JIT has been good at removing STORE for this frame 08:58
timotimo i see why we end up trying to remove a BB's succ twice 09:27
optimize_iffy can end up removing the instruction entirely. after that it'll call decompose_object_conditional if the ins's opcode is either if_o or unless_o. decompose_object_conditional will sometimes call optimize_iffy again if it thinks a change means another optimization attempt could be helpful 09:30
however, removing the instruction does not clear the instruction's opcode, so the "removed" instruction is considered "still active" and the reoptimization step wants to throw out the successor a second time 09:31
brrt wait, what 09:32
oh
timotimo :)
now i changed manipulate_ins to just turn the instruction into a no_op
er, i mean manipulate_remove_ins
brrt how does removeing the instruction not remove an opcode? i don't follow
timotimo github.com/MoarVM/MoarVM/blob/mast...ze.c#L2072 09:33
removing the ins with the manipulate function will only kick it out of the doubly-linked-list, but this code won't check that
whoops, compilation is now extremely unhappy 09:39
huh, it was my phi optimization where i drop phis that have only two operands 09:42
brrt oh, i see 09:47
good find
we could check if the thing is deleted by (ins == ins->prev->next) 09:48
alternatively
we could do the decompose first
timotimo currently i replace its info with no_op, that works 09:50
brrt yeah 09:51
but it remains a hack :-)
timotimo yeah, and it made things worse if i just unconditionally do it after delete_ins 09:52
so, now i'm confused, i thought i had a perl6 for loop with nqp::getenvhash<FOO> work with this optimization
but it goes through a proper call to &postcircumfix:<{ }> now 09:53
that call isn't inlined, either
analyze_phi doesn't propagate known_value ye 10:00
yet
brrt timotimo: do you have an example of a failure due to that misoptimization? 10:30
timotimo which one are you refering to? 10:45
MoarVM oops: Didn't find the successor to remove from a Spesh Basic Block 10:46
that's what happens without setting the no_op opcode on the removed if/unless 10:47
Missing infixish operator precedence at line 50, near " :inherita"
at gen/moar/stage2/NQPHLL.nqp:707 (src/vm/moar/stage0/NQPHLL.moarvm:panic)
that's what i get if i put in "a PHI with only two operators copies the facts instead"
i'll be AFK for a little bit 10:48
11:10 brrt joined 11:26 zakharyas joined
brrt so the suspicious thing I'm seeing in the box_s bug, is we're spilling over the result of sp_getarg 11:49
with the value of a sp_getspeshslot
and i'm not sure why that would be happening
.ask timotimo if you have a replication where this goes wrong (i can easily see that it would) then I'd love to see it because then i can test if my fix fixes it 12:16
yoleaux brrt: I'll pass your message to timotimo.
13:10 zakharyas joined, zakharyas1 joined 13:50 notable6 joined 14:47 zakharyas joined 15:47 zakharyas joined 16:08 brrt joined 16:30 brrt joined
timotimo brrt: requires my local patches to bring out the problem ;) 16:54
yoleaux 12:16Z <brrt> timotimo: if you have a replication where this goes wrong (i can easily see that it would) then I'd love to see it because then i can test if my fix fixes it
brrt ah, ok 16:55
timotimo i can totally push them 16:56
brrt or to a branch, if needed 16:58
17:00 zakharyas joined
timotimo yes, i was thinking of a branch 17:06
Geth MoarVM/getenvhash_constant_fold: 5 commits pushed by (Timo Paulssen)++ 17:07
17:54 dalek joined, synopsebot joined, Geth joined, SourceBaby joined 18:03 domidumont joined
samcv good * 18:09
yoleaux 24 Feb 2018 22:12Z <tbrowder> samcv: try modifying yr .travis.yml as in the current nqp master branch. it will help push yr jvm job along in NQP#425
synopsebot NQP#425 [open]: github.com/perl6/nqp/pull/425 [moar] Add encodeconf and decodeconf ops
19:04 Util joined 19:33 robertle joined 19:38 domidumont joined 19:45 Kaiepi joined 21:06 geospeck joined 21:37 Kaypie joined 21:48 notable6 joined, Kaiepi joined
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/02/26/...-cheese-d/ 21:50
22:36 AlexDaniel joined 22:54 releasable6 joined 23:51 committable6 joined