RFR: 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled [v4]

Calvin Cheung ccheung at openjdk.org
Mon Mar 3 16:38:31 UTC 2025


> This changeset fixes a crash during AOT cache creation when `AOTInvokeDynamicLinking` is disabled.
> Changes in `cdsHeapVerifier.cpp` is required to avoid error such as the following during AOT cache creation:
> 
> 
> [4.156s][warning][cds,heap] Archive heap points to a static field that may hold a different value at runtime:
> [4.156s][warning][cds,heap] Field: java/util/Collections::EMPTY_LIST
> 
> Per Ioi's suggestions, added the `CDSConfig::is_dumping_method_handles()` so that most of the calls to `CDSConfig::is_dumping_aot_linked_classes()` and `CDSConfig::is_dumping_invokedynamic()` could be replaced with the new function.
> 
> Passed tiers 1 - 3 testing.

Calvin Cheung has updated the pull request incrementally with one additional commit since the last revision:

  revert changes in aotArtifactFinder.cpp

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/23546/files
  - new: https://git.openjdk.org/jdk/pull/23546/files/fdc3836d..f2bdcfab

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=23546&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23546&range=02-03

  Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/23546.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/23546/head:pull/23546

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


More information about the hotspot-runtime-dev mailing list