On Tue, 22 Sep 2020 18:03:37 GMT, Gilles Duboscq <g...@openjdk.org> wrote:

>> [JDK-8232806](https://bugs.openjdk.java.net/browse/JDK-8232806) introduced 
>> the
>> jdk.internal.lambda.disableEagerInitialization system property to be able to 
>> disable eager initialization of lambda
>> classes. This was necessary to prevent side effects of class initializers 
>> triggered by such initialization in the
>> context of the GraalVM native image tool.  However, the change as it is 
>> implemented means that the behaviour of
>> non-capturing lambdas depends on the value of `disableEagerInitialization`: 
>> when it is false (the default) such lambdas
>> are actually a singleton while when it is true, a fresh instance is returned 
>> every time.  Programs should definitely
>> _not_ rely on reference equality since the Java spec does not guarantee it. 
>> However, in order to separate concern and
>> ease debugging such bad programs, `disableEagerInitialization` shouldn't 
>> influence the singleton vs. fresh instance
>> behaviour of lambdas in either direction.
>
> Gilles Duboscq has refreshed the contents of this pull request, and previous 
> commits have been removed. The incremental
> views will show differences compared to the previous content of the PR.

Looks good.  Thanks for the update.

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

Marked as reviewed by mchung (Reviewer).

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

Reply via email to