hg: jdk8/tl/jdk: 7194897: JSR 292: Cannot create more than 16 instances of an anonymous class; ...

Remi Forax forax at univ-mlv.fr
Mon Nov 4 21:37:31 UTC 2013


On 11/04/2013 07:12 PM, robert.field at oracle.com wrote:
> Changeset: 51b002381b35
> Author:    rfield
> Date:      2013-11-04 10:12 -0800
> URL:       http://hg.openjdk.java.net/jdk8/tl/jdk/rev/51b002381b35
>
> 7194897: JSR 292: Cannot create more than 16 instances of an anonymous class
> 8027681: Lambda serialization fails once reflection proxy generation kicks in
> Reviewed-by: ksrini, briangoetz, jfranck
> Contributed-by: joel.franck at oracle.com, brian.goetz at oracle.com, robert.field at oracle.com
>
> ! src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java
> ! src/share/classes/sun/reflect/NativeMethodAccessorImpl.java
> ! src/share/classes/sun/reflect/misc/ReflectUtil.java
> + test/java/lang/invoke/lambda/RepetitiveLambdaSerialization.java
> ! test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java
> + test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java
>

Note that while this fix is ok now,
it introduced a performance regression, doing reflection on a functional 
method of an inner class
is faster than doing reflection on the functional method of a lambda proxy.

Rémi




More information about the core-libs-dev mailing list