> 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 ------------- Changes: https://git.openjdk.org/valhalla/pull/1903/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1903&range=02 Stats: 214 lines in 13 files changed: 174 ins; 32 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
