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 |