On 02/16/2016 11:59 PM, Andrej Golovnin wrote: > Hi Aleksey, > >> http://cr.openjdk.java.net/~shade/8149835/webrev.jdk.01/ > > 701 return (pkg != null ? pkg.getName().replace(".", "/") > + "/" : "") + "Stubs$$StringConcat"; > 702 } else { > 703 return hostClass.getName().replace(".", "/") + > "$$StringConcat”; > > Maybe you should use here the character based String#replace()-method as it > is faster and > does not produce as much garbage as the CharSequence based method does.
Yes: http://cr.openjdk.java.net/~shade/8149835/webrev.jdk.02/ http://cr.openjdk.java.net/~shade/8149835/webrev.langtools.01/ I have also changed to Lookup.IMPL_LOOKUP when looking up the method from U.defineAnonymousClass-loaded bytecode stub. This make the load sequence consistent with LambdaMetafactory. It still passes JPRT, java/lang/String and jake build. Cheers, -Aleksey