RFR(S): JDK-8203481 Incorrect constraint for unextended_sp in frame:safe_for_sender

Andrew Haley aph at redhat.com
Thu Jun 14 13:44:03 UTC 2018


On 06/10/2018 10:05 PM, David Holmes wrote:
> I have to admit I still can't connect all the pieces here. When we are 
> operating in frame::safe_for_sender, what has set _unextended_sp? Can 
> you walk through a complete example? I can't quite connect Andrew's 
> example to the original problem.
> 
> It still seems to me that the current frame should have:
> 
> sp <= unextended_sp <= stack_base()

No.  We save SP, then remove unused stack, then call int a method.
The address saved into the current method is the old SP, before stack
items were removed.  This is refereed to as the "unextended_sp" in th
eshared code, but it's actually *below* the SP when a method was
entered.

-- 
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