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

Calvin Cheung ccheung at openjdk.org
Tue Feb 18 23:30:03 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.

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

Commit messages:
 - @iklam comments
 - Ioi's suggestions
 - 8348322: AOT cache creation crashes with "All cached hidden classes must be aot-linkable" when AOTInvokeDynamicLinking is disabled

Changes: https://git.openjdk.org/jdk/pull/23546/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23546&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8348322
  Stats: 58 lines in 18 files changed: 25 ins; 10 del; 23 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