> -----Original Message-----
> From: Leopold Toetsch [mailto:[EMAIL PROTECTED]
> Sent: Thursday, October 02, 2003 1:35 AM
> To: [EMAIL PROTECTED]
> Subject: Re: [perl #24088] [PATCH] Parrot on AIX
> 
> Does your debugger support stabs? You could try to enable the 
> jit_debug
> stuff in jit.c and follow the hints in docs/jit.pod /Debugging.

gdb works, but ddd doesn't, so the snippet in jit.pod doesn't work.  But with
JIT_DEBUG set, gdb becomes more helpful.  It wipes out thusly on t/op/basic_1
with JIT_DEBUG==3:

******************************************************************************

$ gdb --args ./parrot -j t/op/basic_1.pasm
(...)

Section:
NOT JITTED block 0
                OP0: ext   1    noop
                        map_branch: 00
        begin:  0x200a1a98      (1)
        end:    0x200a1a98      (1)
        I registers used:       0
        N registers used:       0
        Jit opcodes:    0
        Total opcodes:  1

Section:
JITTED block 1
                OP1: ext   0    end
                        map_branch: 00
        begin:  0x200a1a9c      (0)
        end:    0x200a1a9c      (0)
        I registers used:       0
        N registers used:       0
        Jit opcodes:    1
        Total opcodes:  1

Total size 64 bytes

Program received signal SIGSEGV, Segmentation fault.
0x7c0802a4 in ?? ()

******************************************************************************

t/op/jit_1 does no better:

******************************************************************************

Section:
JITTED block 0
                OP0: ext   0    set I0,0
                        map_branch: 00 10 00
                OP3: ext   0    set I1,1
                        map_branch: 00 11 00
                OP6: ext   0    set I2,2
                        map_branch: 00 12 00
                OP9: ext   0    add I0,I1,I2
                        map_branch: 00 10 11 12
        begin:  0x200a3f08      (848)
        end:    0x200a3f2c      (434)
        I registers used:       3
        I register count:       2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        I register usage:       0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        I register direction:   2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        N registers used:       0
        Jit opcodes:    4
        Total opcodes:  4

Section:
NOT JITTED block 1
                OP13: ext   1   print I0
                        map_branch: 00 00
                OP15: ext   1   print I1
                        map_branch: 00 00
                OP17: ext   1   print I2
                        map_branch: 00 00
                OP19: ext   1   print "\n"
                        map_branch: 00 00
        begin:  0x200a3f3c      (372)
        end:    0x200a3f54      (377)
        I registers used:       3
        I register count:       1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        I register usage:       0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        I register direction:   1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0
        N registers used:       0
        Jit opcodes:    0
        Total opcodes:  4

Section:
JITTED block 2
                OP21: ext   0   end
                        map_branch: 00
        begin:  0x200a3f5c      (0)
        end:    0x200a3f5c      (0)
        I registers used:       0
        N registers used:       0
        Jit opcodes:    1
        Total opcodes:  1

Total size 140 bytes

Program received signal SIGSEGV, Segmentation fault.
0x7c0802a4 in ?? ()

******************************************************************************

I'm not entirely sure what I'm looking at here.  Is there anything I can do
without being a JIT or PPC guru?

Adam Thomason

Reply via email to