00:46 ggoebel joined 00:58 ShimmerFairy joined 01:47 ilbot3 joined
TEttinger feed it snowden leaks 01:57
05:00 harrow joined 07:03 zakharyas joined 07:10 lizmat joined 08:23 mtj_ joined, brrt joined
brrt good moarning 08:34
jnthn dobre jitro :) 08:36
brrt iirc... jitro was late morning? 08:38
jnthn Yes :)
jnthn starts typing "how to make atom package" and before he could get done google was suggesting "how to make atom bomb" o.O 08:42
brrt it's an interesting topic :-) 08:43
FROGGS jnthn: that probably just happens because you implemented DESTROY not too long ago :o) 09:02
FROGGS .oO( $*W.^can: 'DESTROY' ) 09:03
jnthn :) 09:15
09:42 Ven joined 09:45 FROGGS_ joined 12:57 brrt joined
brrt ok, thinking about it properly, i concur that instruction selection comes after tile selection, and that it'd better be done in a preorder traversal order 13:22
or something like that... 13:26
timotimo i still don't grok MVM_ASSIGN_REF 13:51
what i do understand is it's about serialization contexts
jnthn It's not :)
timotimo oh 13:52
jnthn It's about generational GC
timotimo that's sc_wb, then
okay; why do we need to reload objects when we hit a write barrier?
jnthn Right, this is just the normal write barrier
timotimo or is that only for when we have a p6opaque?
oooh 13:53
these stores and restores are just because registers get clobbered
brrt what
which registers
timotimo that explains why it writes to rbp-0x*
TMP1 and TMP2 in the cases i'm trying to cargocult from :)
brrt ahaaah 13:54
timotimo no, TMP2 and TMP3
jnthn The write barrier might end up calling a C function
timotimo ah!
brrt what jnthn says
timotimo now there's an explanation that helps :)
brrt hit_wb calls a function, hence the values are spilt
(temporaries)
timotimo i'm now finally going to implement setcodeobj via the old jit
brrt mvm_assign_ref is split in two, in a sense 13:55
timotimo yeah, check + hit 14:07
bleh! 14:10
setcodeobj never has a known type + correct reprid
it seems like that always comes from $!do 14:16
bbiab
14:32 camelia joined 15:52 lizmat joined
timotimo maybe i should add a little piece to spesh that checks if there's a guard for $!do having a known type so that that won't be thrown out before jit? 15:57
jnthn: we don't emit log instructions for the result of getattr_o; is there a good reason to keep it that way? 16:09
i was wrong 16:21
we actually do put in a log op for getattr_o and getattrs_o
darn, they log different types, but of course all have the same repr 16:22
FROGGS PR 233 is quite interesting 16:24
16:40 lizmat joined
japhb FROGGS: Feels like it should come with a mini-benchmark though. I would expect MVM{,_bigint}_radix are fast-path operations; it would be nice to avoid making them much slower (if indeed this has any significant effect). 16:57
timotimo perhaps a "known reprid" fact would be interesting? 17:10
19:59 synbot6 joined
dalek arVM/jit_and_opt_setcodeobj: 0c3c8fb | timotimo++ | src/ (3 files):
jit and try to opt setcodeobj

alas, we pretty much always log different type objects. since the opt is only interested in REPR ID, maybe that ought to become an entry in facts?
20:44
22:45 TEttinger joined 22:49 notostraca joined 23:44 notostraca joined