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

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


On Fri, 16 Jan 2026 19:34:52 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

>> 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.
>
> src/hotspot/share/cds/cdsHeapVerifier.cpp line 312:
> 
>> 310:         // Any concrete value class will have a field ".null_reset" which holds an
>> 311:         // all-zero instance of the value class so it will not change between
>> 312:         // dump time and runtime.
> 
> I'm not sure how this comment about the .null_reset value applies in this if statement?  It doesn't seem related to the LIMITATION comment above and there doesn't seem to be anything special done for null reset here either.

Without the if statement, we'd see an error stating that a class has a static field whose value may differ between dumptime and runtime, specifically referring to `.null_reset`. This is currently the only case to cause any issues so I figured mentioning it in a comment would be useful.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1903#discussion_r2699958125


More information about the valhalla-dev mailing list