Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-08-08

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:34 FROGGS_ joined #moarvm
01:37 zakharyas joined #moarvm
01:47 ilbot3 joined #moarvm
01:47 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
05:42 cognome joined #moarvm
06:39 sergot o/
07:20 nwc10 \o
07:24 lizmat joined #moarvm
07:33 nwc10 jnthn: PASS apart from the sin
07:38 jnthn in what exactly?
07:38 nwc10 er, JIT
07:39 nwc10 you merged your branch without deleting it
07:39 nwc10 ie bccf73c36d9eb85ecc9e6aac13ed199848f23631
07:46 brrt joined #moarvm
07:57 brrt \o
07:58 nwc10 o/
08:18 jnthn nwc10: Yeah, I tend to do that asynchronously :P
08:20 nwc10 today you have a meeting?
08:21 jnthn had
08:21 jnthn 'tis over by now :)
08:21 brrt all is well again
08:21 brrt :-)
08:21 jnthn And a possible epic insanity has been avoided.
08:21 nwc10 excellent
08:21 nwc10 the coffee was better today?
08:21 jnthn hah
08:22 jnthn Well, there was coffee sat in a pot
08:22 jnthn But I knew I was one of the first in today
08:22 nwc10 does masak drink coffee?
08:22 jnthn So knew better than to drink it
08:22 jnthn Not really
08:22 lizmat joined #moarvm
08:27 woolfy joined #moarvm
08:27 brrt i'm pondering splitting the graph.c hugefile ... probably best for cleanup week
08:30 jnthn aye
08:30 jnthn And only worth it if there's a natrual split
08:31 jnthn "number of lines in file" is a poor metric for nearly everything :)
08:32 brrt true
08:32 brrt i think there are several natural splits: label management, c-call-node-building, the rest
08:33 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
08:34 brrt nwc10: in terms of 'does it run', i should think that it is, at least what's on HEAD right now
08:34 brrt in terms of 'is this clean enough to push to other people'... i don't know
08:34 brrt we should probably want to erase the test nqp files in the directory
08:35 nwc10 isn't the current priority to get to "'is this clean enough to push to other people?' 'yes'" ?
08:36 brrt to be honest, my current current priority is 'handlers should work before i leave this over to other people'
08:37 brrt i had planned to take next week for full cleanup
08:46 jnthn Yes, what's done now + handlers working = a very good state, imo
08:52 brrt (yay, moar with new label handling compiles \o/)
08:52 brrt and segv!
08:53 jnthn Congrats! /o\
08:53 brrt :-)
08:53 brrt this one's easy
08:53 timotimo that sounds great!
08:53 FROGGS ha! but the bug behind that waiting to show up...
08:53 brrt and... no segv
08:54 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
08:54 timotimo or maybe FROGGS will :)
08:54 timotimo i have a ENT appointment, as my ear infection seems to have recovered
08:54 FROGGS timotimo: I'd like to fix that NFA bug first
08:55 brrt i did break the deopt_all_idx thingy though
08:55 brrt but, i'll get that working again
08:56 jnthn :)
08:56 * jnthn has some work things to attend to today
08:58 * masak .oO( timotimo's doctor is an ancient talking tree!? )
09:03 brrt :-o https://code.google.com/p/unladen-swallow/wiki/RelevantPapers
09:03 brrt much wow
09:04 lizmat joined #moarvm
09:05 woolfy joined #moarvm
09:05 lizmat joined #moarvm
09:10 masak wow indeed.
09:10 masak some weekend reading there :)
09:38 woolfy left #moarvm
10:22 colomon_ joined #moarvm
10:23 brrt joined #moarvm
10:23 brrt wow, a jit code frame 11847 bytes large
10:24 jnthn so machine code
10:24 timotimo that just means we save so much more time because we don't have to interpret! :)
10:25 * brrt would hope so
10:27 nwc10 but, as was said earlier, I-cache pressure
10:28 * brrt might be having an off-by-one
10:29 jnthn I'm guessing a frame that large thats hot is a grammar rule somewhere
10:31 brrt yeah, i'm guessing so too
10:33 jnthn lunch &
10:39 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:40 brrt apparantly, it's ok if there's not
10:53 dalek MoarVM/moar-jit: 0b3f99f | (Bart Wiegmans)++ | src/ (10 files):
10:53 dalek MoarVM/moar-jit: Redo label handling for deopt and handler support
10:53 dalek MoarVM/moar-jit:
10:53 dalek MoarVM/moar-jit: Instead of labels and offset, I now keep just indexes into
10:53 dalek MoarVM/moar-jit: the label array and indexes into the deopt array. Believe it
10:53 dalek MoarVM/moar-jit: or not, this makes quite a few things simpler, such as removing
10:53 dalek MoarVM/moar-jit: the necessity of a different OSR label array and a deopt_all label
10:53 dalek MoarVM/moar-jit: array. The goal is to make the construction of handler labels
10:53 dalek MoarVM/moar-jit: possible during graph construction, as well as inline labels.
10:53 dalek MoarVM/moar-jit: review: https://github.com/MoarVM/MoarVM/commit/0b3f99fd81
10:53 brrt huge commit coming up
11:01 brrt tests passeth for me
11:01 brrt tpfm :-)
11:01 brrt bbi1h
11:19 nwc10 brrt: PASS (other than the usual sin)
11:28 * jnthn wonders if that captures inline extents too :)
11:28 jnthn brrt: no, not every frame in the stack needs deopting
12:21 brrt joined #moarvm
12:22 brrt jnthn: doesn't capture them yet, but is really simple to add
12:23 jnthn cool :)
12:28 cognome joined #moarvm
12:32 brrt it seems codegen stores the frame handler offsets before writing the ops
12:33 jnthn It fills them in as it codegens, iirc
12:37 brrt yes, and the offsets are computed before, not after, so the labels will need to be before as well
12:53 jnap joined #moarvm
12:58 itz_ joined #moarvm
13:04 jnap joined #moarvm
13:22 FROGGS[mobile] joined #moarvm
13:23 * brrt brb
14:08 brrt joined #moarvm
14:22 * jnthn will be away for some time
14:22 jnthn &
14:35 brrt why is hacking actually so much fun?
14:41 brrt search_frame_handlers has only one caller it seems
14:41 ggoebel1111111 joined #moarvm
15:05 brrt ugh, nearly there
15:11 brrt search_frame_handler, y u so complex
15:12 brrt talk about my ridiculous lines
15:17 zakharyas joined #moarvm
16:20 brrt jnthn: if / when you're back, i'm in some need of more sage advice
16:20 brrt it's really stupid, but still
16:32 brrt hmm
16:32 brrt know what
16:33 brrt i'll just hack it in
17:58 timotimo https://gist.github.com/timo/ba36a47223115daeb6d0 - wow, that superb code-gen
18:04 japhb joined #moarvm
18:07 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 japhb Well, presumably.
18:08 timotimo not all of it is the very same problem
18:10 timotimo moarvm seems to exit without flushing stdout when dumping moar bytecode
18:11 timotimo otherwise i'd have a super juicy frame to show to you ...
18:19 timotimo japhb: refresh for a very juicy example of how we don't re-use registers %)
18:21 japhb wow
18:24 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?
18:24 timotimo i think this code only runs once all in all
18:25 timotimo 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 timotimo groceries &
18:27 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:31 * TimToady wonders if it's leftover parrot-think, where the vm was supposed to munch down the register count down
18:32 TimToady and the codegen only had to worry about uniqueness
18:46 japhb .oO( Register allocators!  Get your hot fresh register allocators here! )
18:48 brrt joined #moarvm
19:07 nwc10 it might be some other part of parrot-stuff
19:07 nwc10 whereby every lexical needed to be refetched repeatedly
19:08 nwc10 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 nwc10 whatever, it looks like a fun targeted for someone to attack
19:08 nwc10 "well volunteered"
19:40 timotimo o/
19:40 timotimo what did i miss?
19:42 japhb timotimo: You volunteered to write a register allocator for our code gen.  Don't you remember?
19:44 timotimo haha.
19:49 timotimo jnthn: i checked out latest moar-jit and --dump still complains: Unhandled exception: SC not yet resolved; lookup failed
19:49 timotimo now i can't test if my change improves the code-gen :\
20:29 jnap joined #moarvm
21:19 brrt joined #moarvm
21:19 brrt \o
21:21 brrt timotimo: something special wrong with moar-jit?
21:30 brrt argh even frame unwinding has to be altered
21:31 brrt the long path to exceptions and frames JUST DOESN'T END
21:32 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
21:33 brrt don't worry about me worrying about grades. i'll do that when this is long over
21:34 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
21:34 brrt ah ok
21:34 brrt good :-)
21:36 * brrt should commit
21:37 timotimo i'd appreciate that :)
21:37 timotimo not that i could help or something :S
21:40 brrt well, it's broken too
21:40 brrt and it should be broken, too :-)
21:40 brrt i can push it to a 'its broken' branch
21:40 timotimo OK
21:43 dalek MoarVM/jit-handlers: 2641788 | (Bart Wiegmans)++ | src/core/ (3 files):
21:43 dalek MoarVM/jit-handlers: Simplify die so it's more JIT-able
21:43 dalek MoarVM/jit-handlers: review: https://github.com/MoarVM/MoarVM/commit/2641788766
21:43 dalek MoarVM/jit-handlers: 1159e41 | (Bart Wiegmans)++ | / (12 files):
21:43 dalek MoarVM/jit-handlers: WIP on Handler support.
21:43 dalek MoarVM/jit-handlers:
21:43 dalek MoarVM/jit-handlers: This crashes after returning from the handler,
21:43 dalek MoarVM/jit-handlers: as I suppose it should, because I haven't
21:43 dalek MoarVM/jit-handlers: fixed hanlder invocation yet.
21:43 dalek MoarVM/jit-handlers: review: https://github.com/MoarVM/MoarVM/commit/1159e41013
21:44 * brrt is off drinking beer
21:44 brrt i should be able to fix this tomorrow morning :-)
21:45 brrt 'night #moarvm
21:45 brrt left #moarvm
21:47 japhb 'night, brrt
23:08 woolfy joined #moarvm
23:33 lizmat joined #moarvm
23:38 woolfy left #moarvm
23:59 jnthn So beer. :)
23:59 japhb \o/  # jnthn + beer

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary