01:33 synopsebot joined 02:12 zakharyas joined 02:31 colomon joined 02:48 ilbot3 joined 02:50 colomon joined 03:44 zakharyas joined 07:30 rurban joined 07:35 FROGGS joined 07:42 zakharyas joined 07:54 Ven joined 08:11 Ven joined 08:21 brrt joined 09:46 brrt joined 12:20 Ven joined 12:46 rurban joined 13:38 brrt joined 15:03 lizmat_ joined
timotimo i'm glad every single of the repr ops seems to have something to it that makes me fail to devirtualize it 16:06
16:11 dalek joined
timotimo maybe we want another server for irc sessions only %) 16:12
dalek arVM/jit_devirtualize_reprops: 9c55e7b | timotimo++ | src/jit/graph.c:
improve jit logging for repr op devirt
16:20
arVM/jit_devirtualize_reprops: 784327c | timotimo++ | src/jit/graph.c:
first attempt at getattr_* and getattrs_*

currently dies, for some reason, with
P6opaque: invalid native int access to object attribute
perhaps the hint or attribute name is wrong somehow?
timotimo aha! 16:27
dalek arVM/jit_devirtualize_reprops: 5a8afb2 | timotimo++ | src/jit/graph.c:
hint is a literal, of course, not a register.
16:34 Ven joined 16:44 [Coke] joined
timotimo gist.github.com/timo/266a1911e6ed9244fb0c - looks pretty good if you ask me 16:46
next one will be push_* i see 16:47
jnthn 21915 devirt: repr op push_i couldn't be devirtualized: type unknown
That one is worth a look 16:48
'cus that's all the bstack pushes inside of the regex code
[Coke] what's a devirt?
what's a devirtualization?
timotimo i can show you code
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
*virtual call
timotimo github.com/MoarVM/MoarVM/blob/mast...reprconv.c - these functions have been what we've been jitting to
[Coke] thanks! 16:50
timotimo but in many cases the REPR can be known
jnthn: how can we make that better, though? and why doesn't logging already fix this for us? 16:51
ah, because we mix in stuff into the grammar often and the type changes?
jnthn Not that often 16:52
I'm not sure, I'd have to study a spesh log
timotimo mhm
dalek arVM: 6d8f3f1 | coke++ | ports/macports/Portfile:
updates for new release.

  * we now respect ENV<CFLAGS>
  * version bump overrides revision, remove it
  * add new checksums
  * add docs on how to calc new checksums for next time
16:57
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 16:58
push has a wb in the interp; how should i do that in the jit? 17:03
.o( could the missing wb be the reason for the nqp build segfaulting? ) 17:04
jnthn timotimo: Hm, it's an SC write barrier... 17:05
timotimo oh, that's an actual function, not just a macro
dalek arVM: 226db54 | coke++ | ports/macports/Portfile:
Whoops. use checksums from correct version!
17:12
arVM/jit_devirtualize_reprops: be57a03 | timotimo++ | src/jit/graph.c:
clean up/unify logging a bit
17:13
arVM/jit_devirtualize_reprops: 533b886 | timotimo++ | src/jit/graph.c:
attempt at implementing push and unshift

segfaults currently during nqp build ...
timotimo not quite sure why this breaks the way it does :\
jnthn
.oO( push it real bad )
17:14
timotimo #0 0x00007ffff7b90c0f in push (tc=0x6036b0, st=0x607958, root=0x7ffff7211d58, data=0x2, value=..., kind=8) 17:15
at src/6model/reprs/P6opaque.c:1213
repr_data = 0x7cc870
del = 0x100000000
why would data ever be that value?
jnthn Looks like a mis-calc to me 17:16
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
| lea TMP6, STOOGE:TMP6->data;
possibly doesn't handle that?
jnthn real_data is handled on the inside, though 17:18
timotimo ah
jnthn and only on P6opaque
timotimo so by the thing i'm calling with repr devirt
jnthn yeah 17:19
So...don't think it's that
That root looks dubious too though?
I mean, the address looks teh huge compared to the tc and st ones 17:20
timotimo ah, hm
how do i asm. 17:30
gist.github.com/timo/794f580dc78710072abc - here this should have the push_o ... thingie
somewhere 17:34
dalek arVM: cc1dc8b | coke++ | ports/macports/Portfile:
more macport updates;

  * The macport version never commented out this line, keep it.
  * use more portable openssl commands (work with system version)
17:35
17:41 FROGGS joined
dalek arVM: a938e5d | coke++ | ports/macports/README:
Add a README explaining how to macport
17:47
timotimo AFKs 17:48
dalek arVM: b26111b | coke++ | ports/macports/README:
fix thinko
timotimo so ... what could be going wrong? :\ 18:44
i think i need a brrt for this
timotimo turns on the Bart Signal
jnthn
.oO( nanananana...Bartman! )
18:45
18:49 Peter_R joined
[Coke] trac.macports.org/changeset/134177...ng/MoarVM/ 19:12
patch applied. woot. 19:13
timotimo \o/
[Coke] ... uhoh. there is agita on #macports. give me a moment. 19:14
ah, we're fine. never mind. :) 19:15
timotimo agita? 19:16
[Coke] upset/discomfort 19:17
was related to that commit, but not anything we had to worry about, all fine. moarvm next will show up in a bit.
timotimo oh, ok 19:21
cool
20:39 pyrimidine joined 21:20 kjs_ joined
dalek arVM/jit_devirtualize_reprops: 247c726 | timotimo++ | src/jit/graph.c:
implement pop_* and shift_*
21:28
arVM/jit_devirtualize_reprops: 7ef9a7d | timotimo++ | src/jit/graph.c:
disable push/unshift for the time being
japhb Out of curiosity, what was the discomfort about? 21:38
timotimo grrr 21:59
why is repr_devirt so unstable? ;( 22:00
jnthn timotimo: Is it code-gen issues, or wrong de-virt? 22:32
timotimo good question >_< 22:34
jnthn Mebbe I'll take a look on the train home tomorrow :) 22:36
22:38 Util joined
timotimo that'd be lovely; also the code gen for localref and friends? 22:41
jnthn *nod* 22:42
timotimo i'd love that :)
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 :)
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 :\
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
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
timotimo a tall %) 22:45
now i get it
dalek arVM/jit_devirtualize_reprops: 6b4ef78 | timotimo++ | src/jit/graph.c:
fix the type argument to bindattr and getattr ops
22:47
arVM/jit_devirtualize_reprops: 1a43a5d | timotimo++ | src/jit/graph.c:
implement bindattr and bindattrs ops for devirt
jnthn floats off to bed :) o/ 22:51
timotimo good night, jnthn!
FROGGS gnight jnthn
dalek arVM/jit_devirtualize_reprops: ae312fc | timotimo++ | src/jit/graph.c:
fix a control flow thinko for logging
23:12