RFR: 8289925: Shared code shouldn't reference the platform specific method frame::interpreter_frame_last_sp() [v2]
Dean Long
dlong at openjdk.org
Fri Aug 26 08:13:55 UTC 2022
On Thu, 25 Aug 2022 16:07:43 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
> The interpreter allocates a new frame reserving space for the maximum expression stack. For a call it is trimmed to the current size of the stack. Consequently unextended_sp < sp is possible if max. stack is large.
OK, if I'm not mistaken, aarch64 is doing the same thing. So that could mean that code like Continuation::is_frame_in_continuation() that uses unextended_sp is already broken on some platforms. For example, if an interpreted frame in the carrier thread had a very large max_stack, then is_frame_in_continuation() could return true when it should return false.
-------------
PR: https://git.openjdk.org/jdk/pull/9411
More information about the hotspot-compiler-dev
mailing list