RFR: 8351748: Classes of method handles in AOT cache should be AOT-inited [v2]

Ioi Lam iklam at openjdk.org
Tue Mar 18 03:55:01 UTC 2025


> Whenever we store a MethodHandle in the AOT cache, we need to make sure that the class of this method is aot-initialized. Otherwise, the JVM might execute a BSM without first initializing the class of this BSM.
> 
> Please see the bug report for detail analysis.
> 
> I also fixed a problem in related logging code.

Ioi Lam has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - clean up
 - Merge branch 'master' into 8351748-classes-of-cached-method-handles-should-be-aot-inited
 - Added CDS::needsClassInitBarrier() for adding init barriers to cached Method/Var Handles
 - Merge branch 'master' into 8351748-classes-of-cached-method-handles-should-be-aot-inited
 - Experiment: always include init barriers in cached MethodHandle/VarHandle
 - 8351748: Classes of method handles in the AOT cache should be AOT-initialized

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24004/files
  - new: https://git.openjdk.org/jdk/pull/24004/files/f683312a..7acc985d

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24004&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24004&range=00-01

  Stats: 14885 lines in 414 files changed: 8724 ins; 3706 del; 2455 mod
  Patch: https://git.openjdk.org/jdk/pull/24004.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24004/head:pull/24004

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


More information about the hotspot-runtime-dev mailing list