[kaffe] More mipsel jit3
Timothy Stack
stack at cs.utah.edu
Tue Mar 9 11:56:02 PST 2004
> (gdb) print *((Hjava_lang_Class *) 269223872)
> $3 = {head = {dtable = 0x10019c38, lock = 0x0}, lock = 0x0,
>
> I think that this class is HashMap itself, but can't really tell.
Use:
p (char *)$3.name.data
to print out the name. There are also a lot of helpful macros in the
"developers/gdbinit" file.
> soft_anewarray should be called here with java.util.HashMap$HashEntry
> and 11. 11 appears in two registers at this stack frame: t6 (aka i14)
> and s0 (aka i16).
Looking at the CVS version of the source, it looks like i4-i7 are the
registers used for passing arguments, so those don't seem likely...
It might be easier to just look at the output of "gcc -S" and copy what
they do.
> The only valid class that I can see in this call is
> the one above (*0x100bd4a0 looks like a valid Hjava_lang_Class
> structure, but it is completely unititialized).
You can pick through the GC data structures to figure out the correct type
by using the "gcmem2block" macro to find the gc_block, subtracting
0x100bd4a0 from the value in the data field in the block to get the index,
and printing the gc_block.funcs value for that index. The "funcs" value
is the allocation type and comes from the "gc.h" header file.
> Casey Marshall || rsdio at metastatic.org
tim
More information about the kaffe
mailing list