[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 hotspot-runtime-dev mailing list