00:31 lizmat_ joined 01:49 ilbot3 joined 05:06 geekosaur joined 05:41 brrt joined 05:42 domidumont joined 05:51 domidumont joined 06:39 brrt joined 07:30 brrt joined 07:38 brrt joined 07:43 domidumont joined 07:46 zakharyas joined, domidumont1 joined 07:47 zakharyas joined 08:07 brrt joined
lizmat_ And a new Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/16/...-the-alps/ 08:08
brrt \o lizmat_
08:13 zakharyas joined 09:26 brrt joined
Geth MoarVM/even-moar-jit: 45bf6e94eb | (Bart Wiegmans)++ | 3 files
Disable expr compiling for throwish/invokish ops

These ops need guarding, and that is not yet implemented. This fixes CORE.setting compilation for now.
09:34
MoarVM/even-moar-jit: 9bc0ed2b9c | (Bart Wiegmans)++ | 2 files
Split jit-dump from jit-bisect

The jit-bisect debug tool was somewhat unreliable and frankly did too many things at once. I've split the code to get a specific JIT dump into its own script and refactored the bisecting code. Stuff is generally more reliable now.
brrt i'm still figuring out what is broken and why... 09:46
10:01 zakharyas joined 11:41 praisethemoon joined
Geth MoarVM/even-moar-jit: 3f5211cb8c | (Bart Wiegmans)++ | src/jit/linear_scan.c
tile->args is not tile->values

Also, values and register_spec are +1 biased compared to refs because they include the output register which refs does not. It might be a good idea to change that (have tile->refs[0] == tile->node).
12:54
MoarVM/even-moar-jit: e0b99d02bd | (Bart Wiegmans)++ | src/jit/linear_scan.c
Invoke prepare_arglist_and_call for CALL tile

It could potentially happen that the register used by CALL would be allocated after the ARGLIST was processed, e.g. when the associated value is spilled and loaded by a synthetic tile. This could then overwrite the register picked by prepare_arglist_and_call for resolving the conflict between the ARGLIST and CALL registers. Now that prepare_arglist_and_call is executed for the CALL tile this can no longer happen.
MoarVM/even-moar-jit: 83e4976189 | (Bart Wiegmans)++ | 8 files
Wrap invokish and throwish with a guard tile

Because this means that control flow can be interrupted and resumed right after the compiled node, the expression assembler flushes all active values after the guard, forcing them to be reloaded after.
The pre-throwish pseudotile (which is responsible for loading the JIT ... (7 more lines)
brrt ^ the last commit unblocks decont and similar invokish / throwish ops
can be improved (i want to do 'optimistic' flushing, i.e only flush when necessary) but yeah 12:56
nine So settings compilation now works? 13:04
13:17 brrt joined
brrt yes 13:17
i intend to keep it working, but with ever larger pieces of code JITted :-) 13:18
nine++ nice blog post on the PTS
nine Thanks :) 13:21
brrt: that sounds as it's about time people joined the effort?
brrt i'm guessing we're very near that point, yes 13:23
Zoffix \o/ 13:25
14:01 zakharyas joined 15:06 zakharyas joined 15:25 brrt joined 17:21 zakharyas joined, AlexDaniel joined 17:23 samcv joined 17:36 praisethemoon joined 18:29 japhb joined 18:49 domidumont joined 18:57 Ven joined 19:33 domidumont joined 19:42 Ven_ joined 19:52 robertle joined 19:58 Ven joined 20:01 zakharyas joined 20:27 Ven_ joined 20:48 committable6 joined, Ven_ joined 22:19 MasterDuke_ joined