RFR: 8199453: Enable link-time generation of constructor forms

Alan Bateman Alan.Bateman at oracle.com
Mon Mar 12 15:03:59 UTC 2018

On 12/03/2018 12:37, Claes Redestad wrote:
> Hi,
> I found what appears to be a simple omission from my earlier work to 
> pre-generate
> LambdaForms at jlink time, in that the DIRECT_NEW_INVOKE_SPECIAL kind 
> is never looked
> up nor pregenerated.
> Fixing that means we're covering a few more kinds of LFs at link-time 
> and realizing a
> small startup optimization on first linking of constructor lambdas 
> (Foo::new)
> Webrev: http://cr.openjdk.java.net/~redestad/8199453/jdk.00/
> Bug:    https://bugs.openjdk.java.net/browse/JDK-8199453
This looks okay to me.

In case anyone wonders, this is one of several jlink plugins that are 
tightly coupled to java.base. They are never run when the java.base 
going into target run-time image doesn't have the same feature and 
interim version as the version that the plugins were developed for.


> I also piled on a trivial micro-optimization to the bogusMethod, which 
> is no longer
> used with more than one arg thus doesn't have to use a vararg 
> parameter. This means
> an insignificant reduction in Object[] creation during bootstrap - 
> hope noone minds..
> Thanks!
> /Claes

More information about the core-libs-dev mailing list