[aarch64-port-dev ] RFR(S): JDK-8203481 Incorrect constraint for unextended_sp in frame:safe_for_sender
Dmitry Samersoff
dms at samersoff.net
Mon Jun 18 12:46:19 UTC 2018
Andrew,
I'll copy your explanation of what is happening to comments.
Are you ok with the fix it self?
-Dmitry
On 18.06.2018 12:19, Andrew Haley wrote:
> On 06/17/2018 06:44 PM, Dmitry Samersoff wrote:
>> Third version of the fix, changes limited to AArch64 only.
>>
>> http://cr.openjdk.java.net/~dsamersoff/JDK-8203481/webrev.03/
>
> I don't understand what that comment means, so no-one coming to the
> port has any hope.
>
> When we are running interpreted code the machine stack pointer, SP, is
> set low enough so that the Java expression stack can grow and shrink
> without ever exceeding the machine stack bounds. So, ESP >= SP.
>
> When we call out of an interpreted method, SP is incremented so that
> the space between SP and ESP is removed. The SP saved in the callee's
> frame is the SP *before* this increment. So, when we walk a stack of
> interpreter frames the sender's SP saved in a frame might be less than
> the SP at the point of call.
>
> I''m wondering if I should change this code just to save confusion,
> but we're very close to ramp down.
>
--
Dmitry Samersoff
http://devnull.samersoff.net
* There will come soft rains ...
More information about the aarch64-port-dev
mailing list