This is the mail archive of the
java@gcc.gnu.org
mailing list for the Java project.
Re: java memory allocation with gcj
- From: Andrew Haley <aph at redhat dot com>
- To: java at gcc dot gnu dot org
- Date: Thu, 05 Nov 2009 12:13:09 +0000
- Subject: Re: java memory allocation with gcj
- References: <704401.71578.qm@web56008.mail.re3.yahoo.com>
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.