01:34 FROGGS_ joined 01:37 zakharyas joined 01:47 ilbot3 joined 05:42 cognome joined
sergot o/ 06:39
nwc10 \o 07:20
07:24 lizmat joined
nwc10 jnthn: PASS apart from the sin 07:33
jnthn in what exactly? 07:38
nwc10 er, JIT
you merged your branch without deleting it 07:39
ie bccf73c36d9eb85ecc9e6aac13ed199848f23631
07:46 brrt joined
brrt \o 07:57
nwc10 o/ 07:58
jnthn nwc10: Yeah, I tend to do that asynchronously :P 08:18
nwc10 today you have a meeting? 08:20
jnthn had 08:21
'tis over by now :)
brrt all is well again
:-)
jnthn And a possible epic insanity has been avoided.
nwc10 excellent
the coffee was better today?
jnthn hah
Well, there was coffee sat in a pot 08:22
But I knew I was one of the first in today
nwc10 does masak drink coffee?
jnthn So knew better than to drink it
Not really
08:22 lizmat joined 08:27 woolfy joined
brrt i'm pondering splitting the graph.c hugefile ... probably best for cleanup week 08:27
jnthn aye 08:30
And only worth it if there's a natrual split
"number of lines in file" is a poor metric for nearly everything :) 08:31
brrt true 08:32
i think there are several natural splits: label management, c-call-node-building, the rest
nwc10 is the JIT branch mergable? 08:33
brrt but, each of these depends on JitGraphBuilder, which i kind of had hoped to be a one-off structure
nwc10: in terms of 'does it run', i should think that it is, at least what's on HEAD right now 08:34
in terms of 'is this clean enough to push to other people'... i don't know
we should probably want to erase the test nqp files in the directory
nwc10 isn't the current priority to get to "'is this clean enough to push to other people?' 'yes'" ? 08:35
brrt to be honest, my current current priority is 'handlers should work before i leave this over to other people' 08:36
i had planned to take next week for full cleanup 08:37
jnthn Yes, what's done now + handlers working = a very good state, imo 08:46
brrt (yay, moar with new label handling compiles \o/) 08:52
and segv!
jnthn Congrats! /o\ 08:53
brrt :-)
this one's easy
timotimo that sounds great!
FROGGS ha! but the bug behind that waiting to show up...
brrt and... no segv
FROGGS O.o 08:54
timotimo and jnthn will soon figure out in what exact way the inline_info calculation blows up and fix it :3
or maybe FROGGS will :)
i have a ENT appointment, as my ear infection seems to have recovered
FROGGS timotimo: I'd like to fix that NFA bug first
brrt i did break the deopt_all_idx thingy though 08:55
but, i'll get that working again
jnthn :) 08:56
jnthn has some work things to attend to today
masak .oO( timotimo's doctor is an ancient talking tree!? ) 08:58
brrt :-o code.google.com/p/unladen-swallow/...vantPapers 09:03
much wow
09:04 lizmat joined 09:05 woolfy joined, lizmat joined
masak wow indeed. 09:10
some weekend reading there :)
09:38 woolfy left 10:22 colomon_ joined 10:23 brrt joined
brrt wow, a jit code frame 11847 bytes large 10:23
jnthn so machine code 10:24
timotimo that just means we save so much more time because we don't have to interpret! :)
brrt would hope so 10:25
nwc10 but, as was said earlier, I-cache pressure 10:27
brrt might be having an off-by-one 10:28
jnthn I'm guessing a frame that large thats hot is a grammar rule somewhere 10:29
brrt yeah, i'm guessing so too 10:31
jnthn lunch & 10:33
brrt for when you come back; there should always be a deopt_all_idx if we're in deopt_all, or should it not? 10:39
apparantly, it's ok if there's not 10:40
dalek arVM/moar-jit: 0b3f99f | (Bart Wiegmans)++ | src/ (10 files):
Redo label handling for deopt and handler support

Instead of labels and offset, I now keep just indexes into the label array and indexes into the deopt array. Believe it or not, this makes quite a few things simpler, such as removing the necessity of a different OSR label array and a deopt_all label array. The goal is to make the construction of handler labels possible during graph construction, as well as inline labels.
10:53
brrt huge commit coming up
tests passeth for me 11:01
tpfm :-)
bbi1h
nwc10 brrt: PASS (other than the usual sin) 11:19
jnthn wonders if that captures inline extents too :) 11:28
brrt: no, not every frame in the stack needs deopting
12:21 brrt joined
brrt jnthn: doesn't capture them yet, but is really simple to add 12:22
jnthn cool :) 12:23
12:28 cognome joined
brrt it seems codegen stores the frame handler offsets before writing the ops 12:32
jnthn It fills them in as it codegens, iirc 12:33
brrt yes, and the offsets are computed before, not after, so the labels will need to be before as well 12:37
12:53 jnap joined 12:58 itz_ joined 13:04 jnap joined 13:22 FROGGS[mobile] joined
brrt brb 13:23
14:08 brrt joined
jnthn will be away for some time 14:22
&
brrt why is hacking actually so much fun? 14:35
search_frame_handlers has only one caller it seems 14:41
14:41 ggoebel1111111 joined
brrt ugh, nearly there 15:05
search_frame_handler, y u so complex 15:11
talk about my ridiculous lines 15:12
15:17 zakharyas joined
brrt jnthn: if / when you're back, i'm in some need of more sage advice 16:20
it's really stupid, but still
hmm 16:32
know what
i'll just hack it in 16:33
timotimo gist.github.com/timo/ba36a47223115daeb6d0 - wow, that superb code-gen 17:58
18:04 japhb joined
japhb timotimo: Yeah, that's some wince-worthy code gen. But at least it's all the same type of problem, so can be fixed all at once. 18:07
Well, presumably.
timotimo not all of it is the very same problem 18:08
moarvm seems to exit without flushing stdout when dumping moar bytecode 18:10
otherwise i'd have a super juicy frame to show to you ... 18:11
japhb: refresh for a very juicy example of how we don't re-use registers %) 18:19
japhb wow 18:21
timotimo i don't know where that code gets generated :( 18:24
japhb Has anyone had a chance to look at the r-m benchmark regressions since 2014.07?
timotimo i think this code only runs once all in all
so it's not that terrible ... but it's something that'll contribute to start-up time ... maybe it'd just be a tiny fraction of a second faster if it would re-use the same local for all of these? 18:25
groceries &
japhb timotimo: It wouldn't surprise me if solving that problem (tight local lifetimes plus local reuse) would lead to performance improvements all over the place. 18:27
TimToady wonders if it's leftover parrot-think, where the vm was supposed to munch down the register count down 18:31
and the codegen only had to worry about uniqueness 18:32
japhb
.oO( Register allocators! Get your hot fresh register allocators here! )
18:46
18:48 brrt joined
nwc10 it might be some other part of parrot-stuff 19:07
whereby every lexical needed to be refetched repeatedly
because in at least some cases it wasn't possible to assign to lexicals - the slot in the pad got rebound, rather than a new value copied to it 19:08
whatever, it looks like a fun targeted for someone to attack
"well volunteered"
timotimo o/ 19:40
what did i miss?
japhb timotimo: You volunteered to write a register allocator for our code gen. Don't you remember? 19:42
timotimo haha. 19:44
jnthn: i checked out latest moar-jit and --dump still complains: Unhandled exception: SC not yet resolved; lookup failed 19:49
now i can't test if my change improves the code-gen :\
20:29 jnap joined 21:19 brrt joined
brrt \o 21:19
timotimo: something special wrong with moar-jit? 21:21
argh even frame unwinding has to be altered 21:30
the long path to exceptions and frames JUST DOESN'T END 21:31
japhb brrt: We're just adding pluses to your grade at this point. The harder the journey ... 21:32
brrt i was told the grades didn't matter :-P
don't worry about me worrying about grades. i'll do that when this is long over 21:33
japhb I was speaking metaphorically. :-) 21:34
timotimo brrt: nah, it's just jnthn says he'd fixed moarvm code dumping with a patch that's only on moar-jit
brrt ah ok
good :-)
brrt should commit 21:36
timotimo i'd appreciate that :) 21:37
not that i could help or something :S
brrt well, it's broken too 21:40
and it should be broken, too :-)
i can push it to a 'its broken' branch
timotimo OK
dalek arVM/jit-handlers: 2641788 | (Bart Wiegmans)++ | src/core/ (3 files):
Simplify die so it's more JIT-able
21:43
arVM/jit-handlers: 1159e41 | (Bart Wiegmans)++ | / (12 files):
WIP on Handler support.

This crashes after returning from the handler, as I suppose it should, because I haven't fixed hanlder invocation yet.
brrt is off drinking beer 21:44
i should be able to fix this tomorrow morning :-)
'night #moarvm 21:45
21:45 brrt left
japhb 'night, brrt 21:47
23:08 woolfy joined 23:33 lizmat joined 23:38 woolfy left
jnthn So beer. :) 23:59
japhb \o/ # jnthn + beer