RFR: 8257241: CDS should not handle disableEagerInitialization for archived lambda proxy classes [v2]
Mandy Chung
mchung at openjdk.java.net
Tue Dec 1 22:22:58 UTC 2020
On Tue, 1 Dec 2020 21:58:16 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:
>> Please review this change which includes:
>>
>> - If the `jdk.internal.lambda.disableEagerInitialization`property is enabled, the `InnerClassLambdaMetafactory` will not involve CDS to archive lambda proxy classes or to find them from an archive.
>>
>> - Not passing the `initialize` (same as `!disableEagerInitialization`) to `LambdaProxyClassArchive.find` and eventually to the `JVM_LookupLambdaProxyClassFromArchive` function.
>>
>> Testing:
>>
>> - [x] all cds/appcds tests locally on linux-x64
>>
>> - [x] tiers 1 - 4 (in progress)
>
> Calvin Cheung has updated the pull request incrementally with one additional commit since the last revision:
>
> added a test
test/hotspot/jtreg/runtime/cds/appcds/LambdaEagerInit.java line 36:
> 34: * @requires vm.cds
> 35: * @library /test/lib /test/hotspot/jtreg/runtime/cds/appcds
> 36: * @compile ../../../../../jdk/java/lang/invoke/lambda/LambdaEagerInitTest.java
I think it's better to make a copy of this test along side with this test.
test/hotspot/jtreg/runtime/cds/appcds/LambdaEagerInit.java line 77:
> 75: .shouldHaveExitValue(0);
> 76:
> 77: // run with archive without the -Djdk.internal.lambda.disableEagerInitialization=true property
Minor suggestion: make this test case in a separate `testWithEagerInitializationEnabled` method. `testImpl` can be renamed to `testWithEagerInitializationDisabled`.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1542
More information about the core-libs-dev
mailing list