RFR(M): 8156915: introduce MethodHandle factory for array length
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Wed May 18 13:24:03 UTC 2016
>
> Thanks Vladimir! This is how I understood it, but I did not see the place in code where the actual switch between those "modes" is done, as I have seen they are compiled-up-front.
The decision is made in LambdaForm.prepare() and
LF.checkInvocationCounter().
MethodHandleStatics.COMPILE_THRESHOLD controls when the switch happens.
>
> Theoretically at some point, the LFI code could be removed from JDK, right?
Yes, it's optional now. But LFI comprises tiny fraction of j.l.i code
and it's invaluable when debugging LambdaForm issues. So, I expect it to
stay.
Also, LambdaForm instances are still much more lightweight than classes
they are compiled to. So, if we face a situation when too many
LambdaForms are created, it's better so switch back to LFI than flooding
the system with classes.
Best regards,
Vladimir Ivanov
More information about the core-libs-dev
mailing list