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