Hello,<br><br>I am trying to set a global array from the hotspot interpreter. <br>I am using x86 machine, so in the templateInterpreter_x86_32.cpp (on every method entry) I have put following code :<br><br>__ mov32(ExternalAddress((address)(ptr_queue)),rdx);   // rdx contains the value that I want to set in the array location that ptr_queue is currently pointing<br>
<br>// following code increments the ptr_queue, so that it will point to the next array index.<br>__ mov32(rax, ExternalAddress((address)&amp;(ptr_queue))); <br>__ addl(rax, 4);<br>__ mov32(ExternalAddress((address)&amp;(ptr_queue)),rax);<br>
<br><br>where,<br>int * ptr_queue = &amp;profileQueue[0];<br>// profileQueue is the actual global array that I want to set.<br><br>But, this code is able to set only profileQueue[0] with the value in rdx. All the other locations in the array are not getting set to rdx.<br>
<br>Basically, I need to do indirect array referencing from the interpreter.<br><br>Please let me know if my question is not clear.<br><br>Thank You.<br><br>Sincerely,<br>Manjiri<br>