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 23:29:21 UTC 2013


On 11/04/2013 11:56 PM, John Rose wrote:
> On Nov 4, 2013, at 1:37 PM, Remi Forax <forax at univ-mlv.fr 
> <mailto:forax at univ-mlv.fr>> wrote:
>
>> 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.
>
> This particular fix didn't introduce a regression, it turned a throw 
> (of NoClassDefFoundError) into correct but slow execution.  Some 
> keeping score might call that a speedup.

:)

>
> But you are right that there is a performance pothole in the 
> interoperation between lambdas and reflection.
>
> This implementation RFE, to use method handles instead of code 
> spinning, would take care of that particular problem:
> https://bugs.openjdk.java.net/browse/JDK-6824466

I remember writing a code like that a long time ago, to see if it was 
possible,
as far as I remember, the main issue was to be able to say, please compiler
compile this method handle chain into a blob that I can reuse.

>
> — John

regards,
Rémi




More information about the core-libs-dev mailing list