--- Leopold Toetsch <[EMAIL PROTECTED]> wrote: > Joshua Gatcomb <[EMAIL PROTECTED]> wrote: > > > 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've checked in a possible fix for this. Please try > again after cvs > update.
Sorry - still a problem. I am attaching a more descriptive debugging session where I show the floats and registers at every step. Not sure if this will be useful, but I figured it couldn't hurt. > > Thanks for your analysis, > leo Thank you Joshua Gatcomb a.k.a. Limbic~Region __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/
$ parrot -o foo.pbc -d foo.pasm $ gdb parrot (gdb) b runops_jit (gdb) r -d -j foo.pbc (gdb) n foo.stabs.s: Assembler messages: foo.stabs.s:160: Warning: .stabn: description field '2e6f6f66' too big, try a different debug format 549 (jit_code) (interpreter, pc); (gdb) add-symbol-file foo.o 0 (gdb) info registers eax 0x1029b598 271168920 ecx 0x6111004c 1628504140 edx 0x10297970 271153520 ebx 0x100d1d30 269294896 esp 0x22ef40 0x22ef40 ebp 0x22ef58 0x22ef58 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x466a0b 0x466a0b eflags 0x206 518 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x40089999999999999800 R6: Empty 0x3ffd9999999999999800 R5: Empty 0xd2d8ffffffff77e7ac58 R4: Empty 0xbdb4000000030022e709 R3: Empty 0x57770022d2a80022e720 R2: Empty 0x442e0022d2c800000001 R1: Empty 0x00000000000000000000 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0020 PE TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xffffffff Instruction Pointer: 0x1b:0x0046ac67 Operand Pointer: 0xffff0023:0x0022eea0 Opcode: 0xdc2c (gdb) s jit_func () at foo.pasm:1 1 set N0, 1 (gdb) p N0 $1 = 0 (gdb) info registers eax 0x0 0 ecx 0x6111004c 1628504140 edx 0x10297ce8 271154408 ebx 0x100d1d30 269294896 esp 0x22ef28 0x22ef28 ebp 0x22ef38 0x22ef38 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x1029b5cd 0x1029b5cd eflags 0x246 582 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x40089999999999999800 R6: Empty 0x3ffd9999999999999800 R5: Empty 0xd2d8ffffffff77e7ac58 R4: Empty 0xbdb4000000030022e709 R3: Empty 0x57770022d2a80022e720 R2: Empty 0x442e0022d2c800000001 R1: Empty 0x00000000000000000000 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0020 PE TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xffffffff Instruction Pointer: 0x1b:0x0046ac67 Operand Pointer: 0xffff0023:0x0022eea0 Opcode: 0xdc2c (gdb) n 2 set N1, 1 (gdb) p N1 $2 = 0 (gdb) info registers eax 0x0 0 ecx 0x6111004c 1628504140 edx 0x10297ce8 271154408 ebx 0x100d1d30 269294896 esp 0x22ef28 0x22ef28 ebp 0x22ef38 0x22ef38 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x1029b5d5 0x1029b5d5 eflags 0x246 582 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x3fff8000000000000000 R6: Empty 0x3ffd9999999999999800 R5: Empty 0xd2d8ffffffff77e7ac58 R4: Empty 0xbdb4000000030022e709 R3: Empty 0x57770022d2a80022e720 R2: Empty 0x442e0022d2c800000001 R1: Valid 0x3fff8000000000000000 +1 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0020 PE TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xfffffff3 Instruction Pointer: 0x1b:0x1029b5d3 Operand Pointer: 0xffff0023:0x003f00d8 Opcode: 0xdc2c (gdb) n 3 cosh N3, 1 (gdb) p N3 $3 = 0 (gdb) info registers eax 0x0 0 ecx 0x6111004c 1628504140 edx 0x10297ce8 271154408 ebx 0x100d1d30 269294896 esp 0x22ef28 0x22ef28 ebp 0x22ef38 0x22ef38 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x1029b5ed 0x1029b5ed eflags 0x246 582 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x3fff8000000000000000 R6: Empty 0x3ffd9999999999999800 R5: Empty 0xd2d8ffffffff77e7ac58 R4: Empty 0xbdb4000000030022e709 R3: Empty 0x57770022d2a80022e720 R2: Valid 0x3fff8000000000000000 +1 R1: Valid 0x3fff8000000000000000 +1 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0020 PE TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xffffffc3 Instruction Pointer: 0x1b:0x1029b5e7 Operand Pointer: 0xffff0023:0x100d1db8 Opcode: 0xdc2c (gdb) n 4 print N3 (gdb) info registers eax 0x3f00f4 4129012 ecx 0x0 0 edx 0x3ff00000 1072693248 ebx 0x100d1d30 269294896 esp 0x22ef28 0x22ef28 ebp 0x22ef38 0x22ef38 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x1029b5fa 0x1029b5fa eflags 0x206 518 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x43fd8000000000000000 R6: Empty 0x3fff8000000000000000 R5: Empty 0x3ffe8000000000000000 R4: Empty 0x3fded1cf79abc9e3b000 R3: Empty 0xffffc000000000000000 R2: Empty 0x40008000000000000000 R1: Valid 0x3fff8000000000000000 +1 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0163 IE DE PE SF C0 TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xfffffff3 Instruction Pointer: 0x1b:0x004899c3 Operand Pointer: 0xffff0023:0x100d1dc8 Opcode: 0xd9c9 (gdb) n <really long number snipped> end (gdb) info registers eax 0x3f00fc 4129020 ecx 0x1028b7c0 271103936 edx 0x0 0 ebx 0x100d1d30 269294896 esp 0x22ef28 0x22ef28 ebp 0x22ef38 0x22ef38 esi 0x610ed060 1628360800 edi 0x61005a40 1627413056 eip 0x1029b607 0x1029b607 eflags 0x206 518 cs 0x1b 27 ss 0x23 35 ds 0x23 35 es 0x23 35 fs 0x3b 59 gs 0x0 0 (gdb) info float R7: Empty 0x00000000000000000000 R6: Empty 0x43fd8000000000000000 R5: Empty 0x3ffe8000000000000000 R4: Empty 0x3fded1cf79abc9e3b000 R3: Empty 0xffffc000000000000000 R2: Empty 0x40008000000000000000 R1: Valid 0x3fff8000000000000000 +1 =>R0: Empty 0xec000000000077f58a3a Status Word: 0xffff0063 IE DE PE SF TOP: 0 Control Word: 0xffff037f IM DM ZM OM UM PM PC: Extended Precision (64-bits) RC: Round to nearest Tag Word: 0xfffffff3 Instruction Pointer: 0x1b:0x610d1c98 Operand Pointer: 0xffff0023:0x0022da64 Opcode: 0xd9c9