RFR: 8356407: Part of class verification is skipped in AOT training run

Ioi Lam iklam at openjdk.org
Wed May 7 17:36:30 UTC 2025


Please see [JDK-8356407](https://bugs.openjdk.org/browse/JDK-8356407) for a detailed description of the problem.

This fix strictly tightens the handling of class verification during CDS dump -- now the `VerificationType::is_reference_assignable_from()` checks are skipped only when dumping the "classic static archive".

In the AOT training run, CDS is configured to dump a "preimage static archive". I.e.,

- `CDSConfig::is_dumping_classic_static_archive()` == false
- `CDSConfig::is_dumping_preimage_static_archive()` == true

Therefore, the skipping no longer happens.

I added a test case and improve the comments in the C++ code.

(This bug is caused by [JDK-8348426](https://bugs.openjdk.org/browse/JDK-8348426), which is new in JDK 25. So it does not affect JDK 24 or earlier releases).

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

Commit messages:
 - 8356407: Part of class verification is skipped in AOT training run

Changes: https://git.openjdk.org/jdk/pull/25104/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25104&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8356407
  Stats: 120 lines in 5 files changed: 93 ins; 7 del; 20 mod
  Patch: https://git.openjdk.org/jdk/pull/25104.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25104/head:pull/25104

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


More information about the hotspot-runtime-dev mailing list