00:00 lizmat joined 00:53 colomon joined 01:30 lizmat joined 01:36 vendethiel joined 02:26 vendethiel joined
dalek arVM: 05b25a6 | (Rob Hoelz)++ | src/6model/serialization.c:
Eagerly deserialize stables/objects

There was a problem (RT #122773, GH #142) when diamond relationships between precompiled modules happened in a program, where parts of a namespace could mysteriously disappear. Until the root cause of this problem is found, let's just eagerly deserialize all stables and objects in a serialization context
02:45
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122773
07:48 FROGGS joined 07:49 brrt joined
brrt \o 08:32
09:13 kjs_ joined 10:17 kjs_ joined 10:23 daxim joined 10:29 kjs_ joined
lizmat hoelzro: seems your diamond fix now makes one test in t/spec/S10-packages/precompilation.t fail: 7 10:30
nor does it make the todo pass :-(
not ok 7 - Diamond relationship
not ok 8 - precompile exported cached sub# TODO RT #122896
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122896
moritz tests++ 10:38
FROGGS lizmat: did we already bump the moar+nqp revision? and/or are you using moar HEAD? 10:49
lizmat ah, good point :-) 10:52
hmmm... then maybe it is timotimo's change that breaks that test
(not using HEAD)
I just read hoelzro's commit, and saw a new error with the word "diamond" in it 10:53
*also in it
and just linked the two without further thinking
will check without timotimo's patch 10:54
not timotimo's patch 10:56
doesn't appear to be just a simple commit breaking this test :-( 11:05
lizmat gives up for now
FROGGS lizmat: 11:12
perl6 t/spec/S10-packages/precompilation.t
# error: /bin/sh: 1: ./perl6: not found
not ok 7 - Diamond relationship
but:
perl6-m t/spec/S10-packages/precompilation.t
ok 7 - Diamond relationship
and test 8 segfaults here
(but it is todo'd, which should work out) 11:14
Test::Util uses $*EXECUTABLE_NAME when it should use $*EXECUTABLE 11:17
11:50 bcode joined 12:02 woolfy1 joined 12:52 woolfy1 left
hoelzro the spectests passed for me last night 12:59
I did, however, neglect to bump the moar revision in NQP
nwc10 I'm getting everything passing at master/master/nom 13:01
lizmat and what about timing? master/master seems 15% slower in spectest, probably due to raw startup time going up from .21 to .34 13:02
feels to me some laziness was sacrificed, resulting in much larger startup time 13:03
13:05 woolfy joined
FROGGS yes, the patch to moarvm did exactly that, remove a (buggy) laziness 13:15
hoelzro exactly 13:17
Moar is now a little less lazy and a little slower to start up, at the cost of loading precompiled modules correctly
lizmat and there was me worrying about adding an extra .01 to startup time :-( 13:25
hoelzro if the underlying problem could be figured out, we could restore the laziness 13:28
I don't think the problem itself is in the deserialization code, though
timotimo at first i thought what's wrong with my patch must be that it doesn't know about decont, but decont should never survive after a boxing instruction 13:33
14:15 daxim joined 14:41 JimmyZ joined
JimmyZ hello timotimo 14:41
15:25 TimToady joined, FROGGS joined
timotimo hey 15:46
15:52 zakharyas joined 17:25 oetiker_ joined 17:26 oetiker joined 17:50 FROGGS_ joined 18:18 daxim joined 18:33 kjs_ joined 19:23 kjs_ joined 20:20 kjs_ joined 21:12 kjs_ joined 21:37 colomon joined 21:50 kjs_ joined 22:37 colomon joined 23:18 kjs_ joined, xiaomiao joined
timotimo does somebody want to sit down with me and look deeper into improving spesh (or maybe code-gen) related to boxing/unboxing? 23:24
hmm. this may want speshing that goes beyond BB borders in order to handle inlining things that return p6bools that are then immediately if_o'd 23:28
(and our first step in that case is to turn the if_o into an unbox_i and if_i) 23:29
unbox_i on a p6bool could actually turn into an eqaddr or what have we 23:31
hm. except ... do we allow our bool objects to be cloned? 23:33
well, i suppose you can mix into True and False instances? 23:34
well. turning the unbox_i into some sp_* op would make it a tiny bit less expensive
but i'd rather get rid of this altogether
(since i don't remember how exactly to change the code so that it doesn't even generate a p6bool in the first place)
i want a prettier spesh log analysis tool 23:36
23:41 xiaomiao joined