[lworld] RFR: 8374729: [lworld] Enabling CDS crash with UseAltSubstitutabilityMethod [v3]
Frederic Parain
fparain at openjdk.org
Wed Jan 21 13:27:57 UTC 2026
On Tue, 20 Jan 2026 22:12:30 GMT, Matias Saavedra Silva <matsaave 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.
>
> Matias Saavedra Silva has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 14 commits:
>
> - Merge branch 'lworld' into substitutability_cds
> - Coleen comments and new test
> - Coleen and Fred comments
> - More cleanup
> - Cleanup
> - Merge branch 'lworld' into substitutability_cds
> - Changed SubstitutabilityTest
> - Regenerate acmp_maps at runtime with metadata copy
> - Test fixes and exclude inline klasses from dynamic archive
> - Unproblemlist SubstitutabilityTest
> - ... and 4 more: https://git.openjdk.org/valhalla/compare/a4464150...760217c4
LGTM
-------------
Marked as reviewed by fparain (Committer).
PR Review: https://git.openjdk.org/valhalla/pull/1903#pullrequestreview-3687230576
More information about the valhalla-dev
mailing list