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