RFR: 8289925: Shared code shouldn't reference the platform specific method frame::interpreter_frame_last_sp() [v2]
Richard Reingruber
rrich at openjdk.org
Wed Aug 24 07:42:09 UTC 2022
On Mon, 22 Aug 2022 04:02:32 GMT, Dean Long <dlong at openjdk.org> wrote:
> Looking at this some more, if unextended_sp < sp is possible and unextended_sp can actually point outside the current frame and into the next frame (according to continuationFreezeThaw_ppc.inline.hpp), then using unextended_sp doesn't seem quite right if it's not in the current frame.
I think you are right.
> Maybe using something like ContinuationHelper::InterpretedFrame::frame_bottom() would be better.
I'm currently out of office and not able to look into the code on a decent display. Will do as soon as I'm back.
Ad hoc I think the frame's actual sp (frame::sp()) should be used.
Using other pointers from the interpreter frame is problematic because the code is also called during deoptimization, where the interpreter frame is still skeletal, i.e. the expression stack pointer is not yet set as I learned when trying to use it.
-------------
PR: https://git.openjdk.org/jdk/pull/9411
More information about the hotspot-runtime-dev
mailing list