01:48 ilbot3 joined 06:16 colomon_ joined 07:28 zakharyas joined 07:31 Ven joined 07:34 FROGGS joined 07:36 brrt joined
dalek arVM/even-moar-jit: 4a3e2cf | brrt++ | src/jit/ (2 files):
Copy is not a regular tile

And even if it where, it should use a proper copy of the selected value.
07:37
07:39 lizmat joined
brrt that fixes one crash at least 07:41
(we can now actually run JIT code, a bit) 07:42
JimmyZ brrt++
07:47 lizmat joined 07:48 colomon joined 07:51 lizmat joined 08:34 Ven joined 08:42 lizmat joined
JimmyZ timotimo: do you mind if I do s/push/push_i/g of from_to in your branch? 08:54
08:55 colomon joined 09:14 brrt joined
timotimo please feel free :) 09:47
though ... where does the type of the list_i come from? 09:53
09:56 lizmat joined
JimmyZ timotimo: looks like you branch is based on even_moar_jit branch 09:59
09:59 colomon joined 10:13 lizmat joined
timotimo yes 10:14
10:28 colomon joined 10:29 zakharyas joined, Peter_R joined, JimmyZ joined, psch joined 10:30 dalek joined, synbot6 joined, camelia joined, _longines joined 10:32 synbot6 joined, camelia joined, _longines joined 10:33 dalek joined
JimmyZ timotimo: pushed 10:44
timotimo it looks like you moved some variable definitions away from the beginning of the block 10:46
er
no, i read the colors wrong
i wonder if we should keep the argument to the op that selects the type of list to initialize 10:47
JimmyZ not sure ,the type in nqp is repr NFA 10:49
well, from the code, i think is no 10:50
oh, it is yes 10:52
timotimo: after look at it again, I 'd say no, we don't need it 10:56
it only for from_statelist 10:57
timotimo yeah 10:59
if you want to, you can patch that, too :)
11:21 lizmat joined
dalek arVM/nfa_to_statelist: bd8bd41 | (Jimmy Zhuo)++ | / (6 files):
remove a useless arg
11:22
11:29 Ven joined 11:31 FROGGS joined
timotimo only the difficult part remains :| 11:44
figuring out where to put the "throw out statelist" and "recreate statelist" operations
11:49 lizmat joined
timotimo src/jit/x64/tiles.dasc:128:57: warning: format specifies type 'int' but the argument has type 'MVMJitExprNode' 11:58
(aka 'long') [-Wformat]
MVM_oops(tc, "Unsupported load size: %d\n", args[0]);
should we change something here?
it potentially wants to be ->size?
hm, it seems like we expect those numbers to be 1, 2, 4 or 8 11:59
so it won't be a big problem
12:34 lizmat joined 12:36 brrt joined, Ven joined
brrt is going to do some union-busting next 12:36
timotimo o/ 12:37
dalek arVM/nfa_to_statelist: ffad694 | timotimo++ | src/jit/core.expr:
implement if_i
12:38
arVM/nfa_to_statelist: 3d2f0f3 | timotimo++ | src/jit/x64/tile (3 files):
have tiles for (n)equal (g/l)(than/equal)
timotimo ^- hoping this isn't wrong :)
12:44 Ven joined
timotimo brrt: do you think it'll be a good idea to throw out all the c function calls from graph.c if they've been translated to the expr list? 12:52
brrt not yet
eventually, yes
timotimo will it reduce moarvm's binary size? 12:53
brrt i am one dumb son of a .... feminine canine 12:54
yes, removing it will reduce the memory size. i'm not sure if it will be a net benefit, since we'll offset it with the memory for templates 12:55
but we're talking kilobytes, at best
or worst 12:56
i do hope it'll be a bit more hackable, less limited 12:57
timotimo OK 12:58
but this is code size, so we measure it against the instruction cache, which is small 12:59
brrt that is true
timotimo and templates are data which a small-ish bit of code works on
brrt yes
i do hope that offsets the added complexity
timotimo i hope so, too
brrt actually, algorithmically the complexity is quite limited
i've intentionally used only very simple data structures :-)
timotimo that does sound nice, yeah 13:03
brrt off, by, one 13:11
i'm a dumbass :-) 13:14
dalek arVM/even-moar-jit: 7708b8d | brrt++ | src/jit/ (3 files):
Malloc GPR buffer

This caused an off-by-one because in POSIX ABI there are 9, not 8, volatile registers we use.
13:19
timotimo do we still crash when compiling and running some of the generated code? 13:28
oh
i pushed the tiles and stuff to the wrong branch 13:29
dalek arVM/even-moar-jit: c7047ea | timotimo++ | src/jit/core.expr:
implement if_i
13:32
arVM/even-moar-jit: 966b091 | timotimo++ | src/jit/x64/tile (3 files):
have tiles for (n)equal (g/l)(than/equal)
13:37 lizmat joined
timotimo "Could not take register even after spilling" 13:42
13:44 Ven joined
brrt working on it 13:46
:-)
timotimo cool!
brrt yeah, that's not the same as 'it has been fixed', though :-) 13:47
timotimo right 13:49
dalek arVM/nfa_to_statelist: 134a35b | (Jimmy Zhuo)++ | src/6model/reprs/NFA.c:
only pop 2
13:59
timotimo good catch 14:07
JimmyZ: mind if i rebase nfa_to_statelist onto even-moar-jit or perhaps master? 14:11
JimmyZ timotimo: go ahead :) 14:13
dalek arVM/nfa_to_statelist: c9280de | timotimo++ | / (8 files):
implement nfatostatelist

isn't correct yet; something about temp roots is wrong
14:17
arVM/nfa_to_statelist: 36c420e | (Jimmy Zhuo)++ | src/6model/reprs/NFA.c:
allocate intarray instead of array
arVM/nfa_to_statelist: 4f585f7 | (Jimmy Zhuo)++ | / (6 files):
remove a useless arg
MoarVM/nfa_to_statelist: 1d13ec4 | (Jimmy Zhuo)++ | src/6model/reprs/NFA.c:
timotimo i git push -f'd this to make things a bit simpler
14:19 lizmat joined
brrt you can rebase if you want 14:22
timotimo too late, i already did :) 14:23
but only the nfa_to_statelist branch
which i don't expect you're working with at all, except when i asked you to help me with it :)
brrt yes, and by the time i was back, jnthn and JimmyZ had already fixed it :-)
timotimo right 14:24
JimmyZ what did I fix...?
timotimo you fixed that i forgot to put the & in front of the things i pushed onto the temp roots 14:25
or was that jnthn? i think it was you
JimmyZ he said, and I pushed :P 14:26
timotimo tthat's good enough for me ;) 14:27
14:44 lizmat joined 14:48 colomon joined 15:14 Ven joined
brrt damnit, somehow i'm trying to free an unassigned register 15:22
timotimo i'm trying to take a localref of an object register :| 15:27
brrt wohoooooow, no crashes so far, just an infinite loop :-) 15:31
oh, i see 15:32
hmm
oh, damn, i see now 15:33
FROGGS m: for 1..3 { last; FIRST { say "hello $_" }; say "ohh $_" } 15:36
camelia rakudo-moar eb6de6: OUTPUT«hello 1␤»
FROGGS ww
15:59 Ven joined 16:11 lizmat_ joined 16:34 TimToady joined 16:47 FROGGS joined 17:20 lizmat joined 17:31 FROGGS joined 18:56 Ven joined 20:16 FROGGS joined 20:26 colomon joined
dalek arVM: 09039bb | hoelzro++ | src/io/procops.c:
Make sure we clean up the stdin handle when a process dies

If I spawn a process with an open stdin handle, I don't explicitly close its stdin, and that process exits, that handle is never closed. This can result in a program exceeding its file descriptor limit
21:37
hoelzro i1.kym-cdn.com/photos/images/origin.../2vA1a.png
timotimo excellent, you found the mutex you need 21:39
japhb Woah, 09039bb might actually explain at least one of my crash modes 21:41
timotimo \o/
hoelzro yaaaay 21:42
I'm helping!
japhb There was any doubt? :-) 21:45
22:42 TEttinger joined, rarara joined
[Coke] brrt: Your name came up in the Q and A today. 22:58