> Hi everyone, > > This change removes the remaining mandatory preloading path for > null-restricted instance fields when loading classes from CDS. > [JDK-8380053](https://bugs.openjdk.org/browse/JDK-8380053) already changed > normal class loading so null-restricted field types are no longer loaded just > because the field is null-restriced. Instead, the preloading is speculative > and driven by the `LoadableDescriptor` attribute. The CDS path still had the > older special case in `SystemDictionary::preload_from_null_free_field`, which > could force loading of null-restricted field types. > > This fix removes that CDS-only preload helper and routes non-static field > signatures through the existing `LoadableDescriptor` path instead. This makes > loading follow the same model as in `ClassFileParser::fetch_field_classes()` > with speculative loading. > > Testing: > - Tier 1-3 > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Casper Norrbin has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision: - create symbol only when logging - Merge branch 'lworld' into systemdict-nullrestricted-loading - Validate archived inline field dependencies without LoadableDescriptors - re-add failed marker - removed forced loading for nullrestricted ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2409/files - new: https://git.openjdk.org/valhalla/pull/2409/files/c6c10df2..6c12ac39 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2409&range=03 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2409&range=02-03 Stats: 107026 lines in 2716 files changed: 39563 ins; 59390 del; 8073 mod Patch: https://git.openjdk.org/valhalla/pull/2409.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2409/head:pull/2409 PR: https://git.openjdk.org/valhalla/pull/2409
