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
|