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 |