timotimo | if i also require facts->type to be non-null, it no longer segfaults, but why would i need to?! | 00:15 | |
well, at least with that check i can reach through most of the spec tests, maybe all of them | 00:28 | ||
seems like my changes made t/spec/integration/advent2012-day24.t infiniloop and gobble up memory or something :( | 00:37 | ||
and of course i can't get it to do that without the fudger | 00:39 | ||
well, the fudger doesn't do anything to that file; i meant the test runner | 00:44 | ||
my brane seems to be suffering from my flu-type-thingie by now, so i'll get some rest | |||
dalek | arVM/merge_facts_at_phi: 8b2c7e7 | timotimo++ | src/spesh/optimize.c: make optimize_smart_coerce more robust to wrong facts |
00:45 | |
arVM/merge_facts_at_phi: 1b174d4 | timotimo++ | src/spesh/optimize.c: at PHI ops, we may be able to merge common facts |
|||
01:00
flussence joined
01:32
zakharyas joined
02:02
xiaomiao joined
02:45
flussence joined
02:46
zakharyas1 joined
02:57
colomon joined
03:06
colomon joined
05:10
vendethiel joined
|
|||
nwc10 | jnthn: paste.scsys.co.uk/469517 -- origin/spesh-value-prop setting build ASAN barf | 05:36 | |
06:22
vendethiel joined
06:47
FROGGS joined
06:50
vendethiel joined
07:41
vendethiel joined
07:49
zakharyas joined
07:58
Ven joined
08:20
vendethiel joined
08:45
kjs_ joined
08:46
vendethiel joined
08:57
rurban joined
09:24
vendethiel joined
10:20
vendethiel joined
|
|||
nwc10 | FROGGS: is this the output you wanted? paste.scsys.co.uk/469546 paste.scsys.co.uk/469547 | 10:37 | |
10:49
donaldh joined
10:55
Ven joined
11:31
vendethiel joined
11:57
Ven joined
11:58
vendethiel joined
14:11
kjs_ joined
|
|||
FROGGS | nwc10: aye it is, thank you :o) | 15:36 | |
so we seem to read the long portion of the union exactly like C does... that's not too bad | 15:37 | ||
nwc10 | my assumption (not backed up by actual testing) is that on a big endian machine, the union layout will have the short, char (etc) at the *start* of the memory used by the long (just like L.E.) | 15:38 | |
FROGGS | I already thought that union members that are smaller as ptrsize or intsize have a padding... | ||
nwc10 | but of course, as it's B.E | ||
those short, char etc show up as the most-significant bits of the long value, not the least significant. | |||
FROGGS | yeah | ||
nwc10 | and ("of course") you'll have them in (seemingly) different places on 32 and 64 bit B.E. machins | 15:39 | |
because they will appear at <<24 and <<16 or <<48 and <<56 | |||
nor <<0 and <<0 :-/ | |||
er, | |||
not <<0 and <<0 :-/ | |||
(like that fun with the bitintrepr, which has to be different for 32 and 64 bit B.E.) | 15:40 | ||
anyway, I need to decommute | |||
16:06
Ven joined
16:09
colomon joined
17:21
kjs_ joined
17:35
kjs_ joined
|
|||
timotimo | damn it | 18:22 | |
my branch makes XML not compile any more | |||
oh wow | 18:23 | ||
massive failures all over | |||
even on the master branch?! | |||
18:25
kjs_ joined
|
|||
FROGGS | O.o | 18:26 | |
18:43
sivoais joined
18:53
sivoais joined
18:59
kjs_ joined
19:03
sivoais joined
19:05
colomon joined
19:13
sivoais joined
19:23
sivoais joined
19:33
sivoais joined
19:43
sivoais joined
|
|||
timotimo | hm, false alarm apparently | 19:49 | |
not sure what i did wrong | |||
maybe i make'd instead of make installing | |||
19:53
sivoais joined
20:02
kjs_ joined
20:03
sivoais joined
20:13
sivoais joined
|
|||
timotimo | but in my branch i get XML failing to install unless i disable spesh | 20:18 | |
20:23
sivoais joined
20:33
sivoais joined
20:43
sivoais joined
20:44
dalek joined
20:49
sivoais joined
|
|||
timotimo is not amusified | 20:49 | ||
but i'll just let that branch rest for a bit | |||
20:55
brrt joined
|
|||
brrt | \o | 20:57 | |
dalek | arVM/cpp2: c435813 | FROGGS++ | src/core/nativecall.c: fix return value of C++ constructore calls |
21:14 | |
arVM/cpp2: fa4019a | FROGGS++ | src/core/nativecall.c: allow to natviecast from CPPStruct |
|||
FROGGS | such typo | ||
-.- | |||
nebuchadnezzar | nice to see that next moarvm release will permit to drop the debian patch ;-) | 21:18 | |
21:19
kjs_ joined
|
|||
dalek | arVM: 75e5909 | FROGGS++ | Configure.pl: use CPPFLAGS if set, baby-gnu++ |
21:22 | |
FROGGS | nebuchadnezzar: we should be fine now | ||
nebuchadnezzar | thanks a lot | 21:23 | |
FROGGS | you're welcome | 21:25 | |
nebuchadnezzar | FROGGS: I have a doubt, shouldn't the CPPFLAGS be pushed in cflags instead of ldflags? | 22:15 | |
23:04
brrt joined
|
|||
dalek | arVM: 1a551dc | timotimo++ | src/spesh/facts.c: fix a sort of bad thinko in iter_facts |
23:13 | |
timotimo | so it seems like this happened: | 23:35 | |
we were looking for $!poisoned, which used to be a getattr_o | |||
then we deconted that and if_o'd it to figure out if it'd be true-ish | |||
spesh - for some reason - thought it knew it was going to be an Int box and turned that decont + if_o into a set, unbox and if_i | |||
that gives rise to the "cannot unbox a type object" error that triggered inside the optimizer | 23:36 | ||
i don't currently know why it thinks it knows the type; perhaps from logging? but there's no guard for that in the resulting code, so maybe we're not marking a guard properly? | 23:37 | ||
anyway, for a hotfix i turned that $!poisoned attribute into a native int attribute | |||
hum. optimize_iffy seems to be using the facts properly, so the guard ought to have been kept alive. huh. | 23:43 | ||
ah, but if facts are merged at a PHI, the guard a fact comes from isn't marked as used when the result is used! | |||
that could be the issue here | |||
yeah, i've got a fix that prevents breakage, but no implementation of "using facts from guards through a PHI node" | 23:51 | ||
i'll probably leave that for tomorrow and have some rest |