I have reduced the JIT failing tests down to the
following test case:
set N0, 1
set N1, 1
cosh N3, 1
print N3
end
$ parrot foo.pasm
1.543081
$ parrot -j foo.pasm
44942328.... <really big number snipped>
$ parrot -t foo.pasm
0 set N0, 1 - N0=0.000000,
3 set N1, 1 - N1=0.000000,
6 cosh N3, 1 - N3=0.000000,
9 print N3 - N3=1.543081
1.543081 11 end
$ parrot -o foo.pbc -d foo.pasm
$ gdb parrot
gdb> b runops_jit
gdb> r -d -j foo.pbc
gdb> n
gdb> add-symbol-file foo.o 0
gdb> s
1 set N0, 1
gdb> n
2 set N1, 1
gdb> n
3 cosh N3, 1
gdb> p N3
$1 = 0
gdb> n
4 print N3
gdb> p N3
$2 = 4.4942328371557898e+307
If both N1 and N2 are not set prior to cosh, then
everything works fine. I am not sure how to debug
further than this though I have a week of C under my
belt now ;-)
Cheers
Joshua Gatcomb
a.k.a. Limbic~Region
__________________________________
Do you Yahoo!?
Yahoo! Domains � Claim yours for only $14.70/year
http://smallbusiness.promotions.yahoo.com/offer