| 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 | |||