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