[lworld] RFR: 8374729: [lworld] Enabling CDS crash with UseAltSubstitutabilityMethod [v2]

Matias Saavedra Silva matsaave at openjdk.org
Fri Jan 16 21:17:56 UTC 2026


> The alternate substitutability method relies on an injected Java object "acmp_maps" which is currently not being archived and thus leads to crashes attempting to run with a CDS archive. The issue stems from inline klasses being archived and thus loaded at dumptime while the acmp_maps oops is generated in the class file parser, leading this oop to be absent at runtime. 
> 
> Additionally, the other injected static field "null_reset" was not being archived either, so both of these fields are properly stored in the archived heap. In the case of CDS/AOT configurations where the heap is not dumped, acmp_maps is regenerated at class loading using a copy of the array stored in metadata.
> 
> Tests and APIs are updated to conform to the new output generated by the use of acmp_maps and remove some test cases which target the old substitutability method.

Matias Saavedra Silva has updated the pull request incrementally with one additional commit since the last revision:

  Coleen and Fred comments

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1903/files
  - new: https://git.openjdk.org/valhalla/pull/1903/files/9386c4a9..4a035702

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

  Stats: 19 lines in 4 files changed: 2 ins; 9 del; 8 mod
  Patch: https://git.openjdk.org/valhalla/pull/1903.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1903/head:pull/1903

PR: https://git.openjdk.org/valhalla/pull/1903


More information about the valhalla-dev mailing list