RFR: 8296440: Remove Method* handling from cleanup_inline_caches_impl [v5]

Richard Reingruber rrich at openjdk.org
Wed Mar 29 19:54:50 UTC 2023


> This PR replaces cleaning of static stubs in CompiledMethod::cleanup_inline_caches_impl() with a guarantee that it is actually not needed because the holder of the embedded target Method* is alive if the caller nmethod is not unloading.
> 
> The holder of the target Method* has to be alive because it is reachable from the caller nmethod's oop pool. This is checked by `check_path_to_callee()` when a statically bound call gets resolved.
> 
> C2i entry barriers can be removed for the same reason.
> 
> Testing:
> 
> Many rounds in our CI testing which includes most JCK and JTREG tests, Renaissance benchmark and SAP specific tests with fastdebug and release builds on the standard platforms plus PPC64.
> 
> I've also done tier1 and tier2 tests with -XX:-Inline and tier1 tests with ZGC.
> 
> I've started hotspot and jdk tier1 tests with -Xcomp. They were not finished when I stopped them after 24h.

Richard Reingruber has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 14 commits:

 - Check only in debug vm
 - Merge branch 'master'
 - Merge branch 'master'
 - Fix
 - Feedback Coleene
 - Adding TestStaticallyBoundTargetIsReachable.java
 - Path to target exists also if the receiver is a constant of the caller
 - Use nmethod::oops_do() to search for to_holder in from_nm
 - Merge branch 'master'
 - Remove MacroAssembler::resolve_weak_handle()
 - ... and 4 more: https://git.openjdk.org/jdk/compare/ff368d50...7dd06446

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

Changes: https://git.openjdk.org/jdk/pull/12802/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12802&range=04
  Stats: 744 lines in 30 files changed: 437 ins; 285 del; 22 mod
  Patch: https://git.openjdk.org/jdk/pull/12802.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/12802/head:pull/12802

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


More information about the hotspot-dev mailing list