On Wed, 18 Nov 2020 23:58:25 GMT, Calvin Cheung <cche...@openjdk.org> wrote:

> 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)

I'm not sure if this is a good idea, TBH. The disableEagerInitialization 
setting is for native-image pre-generation purposes and the less CDS cares 
about it, the better. I'd prefer it if there's no trace of the property in 
hotspot sources.

-------------

PR: https://git.openjdk.java.net/jdk/pull/1301

Reply via email to