[aarch64-port-dev ] C2 error on ARM sim only regardingcall to runtime from non-compiled code
Andrew Haley
aph at redhat.com
Fri Oct 4 10:21:41 PDT 2013
On 10/04/2013 06:16 PM, Andrew Dinn wrote:
>
>
> On 04/10/13 18:05, Andrew Haley wrote:
>> On 10/04/2013 05:40 PM, Andrew Dinn wrote:
>>> (gdb) x/i OptoRuntime::new_array_nozero_C
>>> 0x7fb79f1f10 <OptoRuntime::new_array_nozero_C(Klass*, int,
>>> JavaThread*)>: stp x29, x30, [sp,#-128]!
>>>
>>> i.e the return address is at offset 128.
>>
>> No it's not. That's a predecrement with a writeback.
>
> Hmm, not sure what the objection is here unless its that I omitted the
> direction of my 128.
Just sayin' that after that instruction executes, the return address
is just above the SP, not at offset 128.
> On Intel x29 is written at offset -8 (bytes) from the SP value in the
> anchor -- equivalently, offset 8 bytes from the value of SP when the
> routine is called.
>
> That's where the frame code expects it (i evaluates _anchor._sp[-1]).
>
> The above instruction writes x29 at offset -128 bytes from the value of
> SP when the routine is called i.e. not where the frame code expects it.
Sure, I get that.
Andrew.
More information about the aarch64-port-dev
mailing list