[aarch64-port-dev ] RFR(S): JDK-8203481 Incorrect constraint for unextended_sp in frame:safe_for_sender

Andrew Haley aph at redhat.com
Mon Jun 18 09:19:52 UTC 2018

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.

Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-runtime-dev mailing list