RFR: 8302745: sp > unextended_sp for interpreted to interpreted calls going through method handle linker

Anton Artemov aartemov at openjdk.org
Tue Feb 24 14:57:19 UTC 2026


Hi, please consider the following changes:

This a fix for `sp > unextended_sp` state, which can happen when interpreted -> interpreted calls go through a method handle linker method.

On x86 the issue is addressed by incrementing `r13` register value when the `memberName `appendix arg is being popped out. Additionally, some changes in JVMTI - related method `_remove_activation_preserving_args_entry` have to be done to reflect the changes.

On aarch64 the issue is addressed by keeping a 16-bytes aligned snapshot of the expression stack pointer (eps) in `r19` instead of the regular stack pointer, and an increment of that register value when the `MemberName `appendix arg is being popped out. Although due to the 16-bytes alignment the result of this increment is wiped out immediately, I think it is good to be consistent with x86 and have instructions in place.

Tested in tiers 1 - 7.

-------------

Commit messages:
 - 8302745: Fix for sp > unextended_sp for x86 and aarch64.

Changes: https://git.openjdk.org/jdk/pull/29744/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29744&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8302745
  Stats: 32 lines in 7 files changed: 31 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/29744.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29744/head:pull/29744

PR: https://git.openjdk.org/jdk/pull/29744


More information about the hotspot-dev mailing list