java memory allocation with gcj

Andrew Haley aph@redhat.com
Thu Nov 5 12:13:00 GMT 2009


isuru herath wrote:
> Hi Andrew,
>> Thanks for the reply. So I was thinking soon after the call to 
> _Jv_NewPrimArray the eax register should have the starting location of the 
> the memory allocated by the mmap. But the value at the eax register was 
> 166816.

So, if you're in gdb, try
 x $eax
166816 doesn't seem unreasonable. It can be a valid address.
> When I tried this with C, the value at the eax register after the 
> malloc call was 155648008. I also put a printf(&name) in the C code and it 
> prints the same address.
> Then I tried store a value in the Java array and then tried to read the 
> memory address 166816 and it wasnot giving me the value that I stored in my 
> program. 

I think I need to see a test case. Please, I need the code, and the steps
you took.
> Even the memory addresses given from C and java are different in sizes as well.
>> Am I missing something here. I just need to know how to find the address of 
> the block allocated by the "new" when running as native binary.
>> any help/advice on this regard is greatly appreciated.

Hard to say. I know you must be doing something wrong, but I don't
know what. If you can send me a test case that illustrates what
you're doing, I'll have a look.
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /