Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-03-19

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

All times shown according to UTC.

Time Nick Message
01:33 synopsebot joined #moarvm
02:12 zakharyas joined #moarvm
02:31 colomon joined #moarvm
02:48 ilbot3 joined #moarvm
02:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:50 colomon joined #moarvm
03:44 zakharyas joined #moarvm
07:30 rurban joined #moarvm
07:35 FROGGS joined #moarvm
07:42 zakharyas joined #moarvm
07:54 Ven joined #moarvm
08:11 Ven joined #moarvm
08:21 brrt joined #moarvm
09:46 brrt joined #moarvm
12:20 Ven joined #moarvm
12:46 rurban joined #moarvm
13:38 brrt joined #moarvm
15:03 lizmat_ joined #moarvm
16:06 timotimo i'm glad every single of the repr ops seems to have something to it that makes me fail to devirtualize it
16:11 dalek joined #moarvm
16:12 timotimo maybe we want another server for irc sessions only %)
16:20 dalek MoarVM/jit_devirtualize_reprops: 9c55e7b | timotimo++ | src/jit/graph.c:
16:20 dalek MoarVM/jit_devirtualize_reprops: improve jit logging for repr op devirt
16:20 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/9c55e7be31
16:20 dalek MoarVM/jit_devirtualize_reprops: 784327c | timotimo++ | src/jit/graph.c:
16:20 dalek MoarVM/jit_devirtualize_reprops: first attempt at getattr_* and getattrs_*
16:20 dalek MoarVM/jit_devirtualize_reprops:
16:20 dalek MoarVM/jit_devirtualize_reprops: currently dies, for some reason, with
16:20 dalek MoarVM/jit_devirtualize_reprops:
16:20 dalek MoarVM/jit_devirtualize_reprops: P6opaque: invalid native int access to object attribute
16:20 dalek MoarVM/jit_devirtualize_reprops:
16:20 dalek MoarVM/jit_devirtualize_reprops: perhaps the hint or attribute name is wrong somehow?
16:20 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/784327c1b4
16:27 timotimo aha!
16:27 dalek MoarVM/jit_devirtualize_reprops: 5a8afb2 | timotimo++ | src/jit/graph.c:
16:27 dalek MoarVM/jit_devirtualize_reprops: hint is a literal, of course, not a register.
16:27 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/5a8afb20b3
16:34 Ven joined #moarvm
16:44 [Coke] joined #moarvm
16:46 timotimo https://gist.github.com/timo/266a1911e6ed9244fb0c - looks pretty good if you ask me
16:47 timotimo next one will be push_* i see
16:47 jnthn 21915 devirt: repr op push_i couldn't be devirtualized: type unknown
16:48 jnthn That one is worth a look
16:48 jnthn 'cus that's all the bstack pushes inside of the regex code
16:48 [Coke] what's a devirt?
16:48 [Coke] what's a devirtualization?
16:48 timotimo i can show you code
16:49 jnthn [Coke]: Turning a virtual case (through a function pointer lookup) into a direct one, when we (at JIT time) know exactly what we will call.
16:49 jnthn *virtual call
16:49 timotimo https://github.com/MoarVM/MoarVM/blob/master/src/6model/reprconv.c - these functions have been what we've been jitting to
16:50 [Coke] thanks!
16:50 timotimo but in many cases the REPR can be known
16:51 timotimo jnthn: how can we make that better, though? and why doesn't logging already fix this for us?
16:51 timotimo ah, because we mix in stuff into the grammar often and the type changes?
16:52 jnthn Not that often
16:52 jnthn I'm not sure, I'd have to study a spesh log
16:52 timotimo mhm
16:57 dalek MoarVM: 6d8f3f1 | coke++ | ports/macports/Portfile:
16:57 dalek MoarVM: updates for new release.
16:57 dalek MoarVM:
16:57 dalek MoarVM: * we now respect ENV<CFLAGS>
16:57 dalek MoarVM: * version bump overrides revision, remove it
16:57 dalek MoarVM: * add new checksums
16:57 dalek MoarVM: * add docs on how to calc new checksums for next time
16:57 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/6d8f3f1d53
16:58 timotimo jnthn: anyway, as soon as you figure out the push_i thing for the bstacks, we'll benefit, because in a few minutes i'll push push_* and unshift_* support
17:03 timotimo push has a wb in the interp; how should i do that in the jit?
17:04 timotimo .o( could the missing wb be the reason for the nqp build segfaulting? )
17:05 jnthn timotimo: Hm, it's an SC write barrier...
17:05 timotimo oh, that's an actual function, not just a macro
17:12 dalek MoarVM: 226db54 | coke++ | ports/macports/Portfile:
17:12 dalek MoarVM: Whoops. use checksums from correct version!
17:12 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/226db54935
17:13 dalek MoarVM/jit_devirtualize_reprops: be57a03 | timotimo++ | src/jit/graph.c:
17:13 dalek MoarVM/jit_devirtualize_reprops: clean up/unify logging a bit
17:13 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/be57a03713
17:13 dalek MoarVM/jit_devirtualize_reprops: 533b886 | timotimo++ | src/jit/graph.c:
17:13 dalek MoarVM/jit_devirtualize_reprops: attempt at implementing push and unshift
17:13 dalek MoarVM/jit_devirtualize_reprops:
17:13 dalek MoarVM/jit_devirtualize_reprops: segfaults currently during nqp build ...
17:13 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/533b8860a3
17:13 timotimo not quite sure why this breaks the way it does :\
17:14 jnthn .oO( push it real bad )
17:15 timotimo #0  0x00007ffff7b90c0f in push (tc=0x6036b0, st=0x607958, root=0x7ffff7211d58, data=0x2, value=..., kind=8)
17:15 timotimo at src/6model/reprs/P6opaque.c:1213
17:15 timotimo repr_data = 0x7cc870
17:15 timotimo del = 0x100000000
17:15 timotimo why would data ever be that value?
17:16 jnthn Looks like a mis-calc to me
17:17 timotimo right, but all i do is use the already apparently working MVM_JIT_REG_OBJBODY ... maybe that doesn't handle real_data properly?
17:17 timotimo | lea TMP6, STOOGE:TMP6->data;
17:17 timotimo possibly doesn't handle that?
17:18 jnthn real_data is handled on the inside, though
17:18 timotimo ah
17:18 jnthn and only on P6opaque
17:18 timotimo so by the thing i'm calling with repr devirt
17:19 jnthn yeah
17:19 jnthn So...don't think it's that
17:19 jnthn That root looks dubious too though?
17:20 jnthn I mean, the address looks teh huge compared to the tc and st ones
17:20 timotimo ah, hm
17:30 timotimo how do i asm.
17:30 timotimo https://gist.github.com/timo/794f580dc78710072abc - here this should have the push_o ... thingie
17:34 timotimo somewhere
17:35 dalek MoarVM: cc1dc8b | coke++ | ports/macports/Portfile:
17:35 dalek MoarVM: more macport updates;
17:35 dalek MoarVM:
17:35 dalek MoarVM: * The macport version never commented out this line, keep it.
17:35 dalek MoarVM: * use more portable openssl commands (work with system version)
17:35 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/cc1dc8b75f
17:41 FROGGS joined #moarvm
17:47 dalek MoarVM: a938e5d | coke++ | ports/macports/README:
17:47 dalek MoarVM: Add a README explaining how to macport
17:47 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/a938e5d81d
17:48 * timotimo AFKs
17:48 dalek MoarVM: b26111b | coke++ | ports/macports/README:
17:48 dalek MoarVM: fix thinko
17:48 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/b26111ba75
18:44 timotimo so ... what could be going wrong? :\
18:44 timotimo i think i need a brrt for this
18:44 * timotimo turns on the Bart Signal
18:45 jnthn .oO( nanananana...Bartman! )
18:49 Peter_R joined #moarvm
19:12 [Coke] https://trac.macports.org/changeset/134177%20/trunk/dports/lang/MoarVM/
19:13 [Coke] patch applied. woot.
19:13 timotimo \o/
19:14 [Coke] ... uhoh. there is agita on #macports. give me a moment.
19:15 [Coke] ah, we're fine. never mind. :)
19:16 timotimo agita?
19:17 [Coke] upset/discomfort
19:17 [Coke] was related to that commit, but not anything we had to worry about, all fine. moarvm next will show up in a bit.
19:21 timotimo oh, ok
19:21 timotimo cool
20:39 pyrimidine joined #moarvm
21:20 kjs_ joined #moarvm
21:28 dalek MoarVM/jit_devirtualize_reprops: 247c726 | timotimo++ | src/jit/graph.c:
21:28 dalek MoarVM/jit_devirtualize_reprops: implement pop_* and shift_*
21:28 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/247c726688
21:28 dalek MoarVM/jit_devirtualize_reprops: 7ef9a7d | timotimo++ | src/jit/graph.c:
21:28 dalek MoarVM/jit_devirtualize_reprops: disable push/unshift for the time being
21:28 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/7ef9a7d1da
21:38 japhb Out of curiosity, what was the discomfort about?
21:59 timotimo grrr
22:00 timotimo why is repr_devirt so unstable? ;(
22:32 jnthn timotimo: Is it code-gen issues, or wrong de-virt?
22:34 timotimo good question >_<
22:36 jnthn Mebbe I'll take a look on the train home tomorrow :)
22:38 Util joined #moarvm
22:41 timotimo that'd be lovely; also the code gen for localref and friends?
22:42 jnthn *nod*
22:42 timotimo i'd love that :)
22:42 jnthn I got a few more teaching days to come, and then stuff gets quiet and I'll have lots of Perl 6 and Moar time :)
22:42 timotimo t/spec/S03-metaops/hyper.rakudo.moar and t/spec/S06-operator-overloading/workout.t seem to be the only ones that trigger a problem a tall :\
22:43 jnthn If we test it with int16, does it trigger a problem a short?
22:43 FROGGS timotimo: well, maybe the right/wrong thing is hot in these test files
22:44 jnthn That'd be my guess. hyper must do a load of array access
22:44 FROGGS jnthn: you're just longing for these puns :P
22:45 timotimo a tall %)
22:45 timotimo now i get it
22:47 dalek MoarVM/jit_devirtualize_reprops: 6b4ef78 | timotimo++ | src/jit/graph.c:
22:47 dalek MoarVM/jit_devirtualize_reprops: fix the type argument to bindattr and getattr ops
22:47 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/6b4ef7821c
22:47 dalek MoarVM/jit_devirtualize_reprops: 1a43a5d | timotimo++ | src/jit/graph.c:
22:47 dalek MoarVM/jit_devirtualize_reprops: implement bindattr and bindattrs ops for devirt
22:47 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/1a43a5d02d
22:51 * jnthn floats off to bed :) o/
22:51 timotimo good night, jnthn!
22:51 FROGGS gnight jnthn
23:12 dalek MoarVM/jit_devirtualize_reprops: ae312fc | timotimo++ | src/jit/graph.c:
23:12 dalek MoarVM/jit_devirtualize_reprops: fix a control flow thinko for logging
23:12 dalek MoarVM/jit_devirtualize_reprops: review: https://github.com/MoarVM/MoarVM/commit/ae312fcedf

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