indirect array reference from interpreter
manjiri.namjoshi at googlemail.com
Thu Nov 12 16:56:29 PST 2009
I am trying to set a global array from the hotspot interpreter.
I am using x86 machine, so in the templateInterpreter_x86_32.cpp (on every
method entry) I have put following code :
__ mov32(ExternalAddress((address)(ptr_queue)),rdx); // rdx contains the
value that I want to set in the array location that ptr_queue is currently
// following code increments the ptr_queue, so that it will point to the
next array index.
__ mov32(rax, ExternalAddress((address)&(ptr_queue)));
__ addl(rax, 4);
int * ptr_queue = &profileQueue;
// profileQueue is the actual global array that I want to set.
But, this code is able to set only profileQueue with the value in rdx.
All the other locations in the array are not getting set to rdx.
Basically, I need to do indirect array referencing from the interpreter.
Please let me know if my question is not clear.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-dev