[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