> 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 pull request now contains seven commits:

 - static null-restricted check, new test, other feedback
 - Merge branch 'lworld' into systemdict-nullrestricted-loading
 - 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: https://git.openjdk.org/valhalla/pull/2409/files
  Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2409&range=04
  Stats: 282 lines in 5 files changed: 227 ins; 14 del; 41 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

Reply via email to