RFR: 8256487: Handle disableEagerInitialization for archived lambda proxy classes

Calvin Cheung ccheung at openjdk.java.net
Fri Nov 20 04:50:02 UTC 2020


On Thu, 19 Nov 2020 16:09:41 GMT, Claes Redestad <redestad at openjdk.org> wrote:

>> Hi Claes,
>> 
>> Thanks for taking a look.
>> 
>> So should I keep the following `!initialize` check in LambdaProxyClassArchive?
>> 109         if (!loadedByBuiltinLoader(caller) || !initialize ||
>> 110             !CDS.isSharingEnabled() || isSerializable || markerInterfaces.length > 0 || additionalBridges.length > 0)
>> 111             return null;
>> If we keep the above code, I think we don't need to pass the `initialize` to `findFromArchive` and eventually to `JVM_LookupLambdaProxyClassFromArchive`.
>> 
>> Let me know if the above is what you have in mind?
>> 
>> thanks,
>> Calvin
>
> Right, I'd drop that argument - I would go further and suggest making calls to both `LambdaProxyClassArchive.register` and `LambdaProxyClassArchive.find` conditional on `disableEagerInitialization` being `false` to avoid any accidental mix-up and reduce complexity of these orthogonal features/concerns.

Closing this pull request. I'll file another bug to address suggestions from @cl4es and @mlchung.

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

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


More information about the core-libs-dev mailing list