RFR: 8256487: Handle disableEagerInitialization for archived lambda proxy classes
Calvin Cheung
ccheung at openjdk.java.net
Thu Nov 19 00:41:13 UTC 2020
Before this change, the setting of the `jdk.internal.lambda.disableEagerInitialization` property was not captured during dumping of lambda proxy classes. There's a workaround in `LambdaProxyClassArchive.find`, it won't call `findFromArchive` if the above property is set.
This change adds handling of the `jdk.internal.lambda.disableEagerInitialization` property, specifically:
- remove the above workaround;
- capture the setting of the property in the archive header during CDS dump time;
- during runtime when finding an archived lambda proxy class, the setting of the property will be compared with the stored value in the archive header.
If the values don't match, the archived lambda proxy class won't be used.
Tests:
- [x] ran all cds tests locally on linux-x64
- [x] ran the `hotspot_appcds_dynamic` test group with `-Dtest.dynamic.cds.archive=true` on linux-x64
- [x] mach5 tiers 1,2,3 (in progress)
-------------
Commit messages:
- Merge branch 'master' into 8256487-disableEagerInit
- 8256487: Handle disableEagerInitialization for archived lambda proxy classes
Changes: https://git.openjdk.java.net/jdk/pull/1301/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=1301&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8256487
Stats: 263 lines in 15 files changed: 246 ins; 0 del; 17 mod
Patch: https://git.openjdk.java.net/jdk/pull/1301.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/1301/head:pull/1301
PR: https://git.openjdk.java.net/jdk/pull/1301
More information about the core-libs-dev
mailing list