RFR: 8366461: Remove obsolete method handle invoke logic [v3]

Manuel Hässig mhaessig at openjdk.org
Wed Sep 24 12:00:20 UTC 2025


On Tue, 2 Sep 2025 20:52:32 GMT, Dean Long <dlong at openjdk.org> wrote:

>> At one time, JSR292 support needed special logic to save and restore SP across method handle instrinsic calls, but that is no longer the case. The only platform that still does the save/restore is arm32, which is no longer necessary. The save/restore can be removed along with related APIs and logic. Note that the arm32 port is largely based on the x86 port, which stopped doing the save/restore in jdk9 ([JDK-8068945](https://bugs.openjdk.org/browse/JDK-8068945)).
>
> Dean Long has updated the pull request incrementally with three additional commits since the last revision:
> 
>  - revert whitespace change
>  - undo debug changes
>  - cleanup

Thank you again for this extensive cleanup. I did another, more thorough, pass and have a few questions and suggestions.

src/hotspot/cpu/arm/arm_32.ad line 436:

> 434:   bool far = (_method == nullptr) ? maybe_far_call(this) : !cache_reachable();
> 435:   return (far ? 3 : 1) * NativeInstruction::instruction_size;
> 436: }

Why do we still need the `instruction_size` offset? Are all static java calls now method handles?

src/hotspot/cpu/arm/frame_arm.cpp line 365:

> 363:       DEBUG_ONLY(verify_deopt_original_pc(sender_nm, _unextended_sp));
> 364:     }
> 365:   }

All of this could be `NOT_PRODUCT` and the method `const` if I did not miss any side effects.

src/hotspot/cpu/arm/frame_arm.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/cpu/arm/register_arm.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/share/code/debugInfoRec.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/share/code/nmethod.inline.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/share/code/pcDesc.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/share/jvmci/jvmciCodeInstaller.hpp line 1:

> 1: /*

Please update the copyright year.

src/hotspot/share/opto/matcher.hpp line 1:

> 1: /*

Please update the copyright year.

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/code/PCDesc.java line 1:

> 1: /*

Please update the copyright year.

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/aarch64/AARCH64Frame.java line 1:

> 1: /*

Please update the copyright year.

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/riscv64/RISCV64Frame.java line 1:

> 1: /*

Please update the copyright year.

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/x86/X86Frame.java line 1:

> 1: /*

Please update the copyright year.

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

Changes requested by mhaessig (Committer).

PR Review: https://git.openjdk.org/jdk/pull/27059#pullrequestreview-3262358336
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375411757
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375419504
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375518959
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375519168
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375519398
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375523797
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375524042
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375524330
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375524675
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375525018
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375525797
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375526227
PR Review Comment: https://git.openjdk.org/jdk/pull/27059#discussion_r2375527000


More information about the serviceability-dev mailing list