RFR: 8302745: sp > unextended_sp for interpreted to interpreted calls going through method handle linker [v2]
Anton Artemov
aartemov at openjdk.org
Wed Feb 25 11:08:38 UTC 2026
> Hi, please consider the following changes:
>
> This is 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.
Anton Artemov has updated the pull request incrementally with two additional commits since the last revision:
- 8302745: Don't touch ARM code.
- 8302745: Addressed reviewer's comments.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/29744/files
- new: https://git.openjdk.org/jdk/pull/29744/files/6c224333..6b98c348
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=29744&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=29744&range=00-01
Stats: 4 lines in 3 files changed: 2 ins; 0 del; 2 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