RFR: 8164044: Generate corresponding simple DelegatingMethodHandles when generating a DirectMethodHandle

Michael Haupt michael.haupt at oracle.com
Thu Aug 18 13:55:17 UTC 2016


Hi Claes,

thumbs up.

Best,

Michael

> Am 17.08.2016 um 23:33 schrieb Claes Redestad <claes.redestad at oracle.com>:
> 
> Hi,
> 
> please review this change which adds pre-generation of simple DelegatingMethodHandles corresponding to the DirectMethodHandles we already pre-generate during linking.
> 
> webrev: http://cr.openjdk.java.net/~redestad/8164044/webrev.02/
> bug: https://bugs.openjdk.java.net/browse/JDK-8164044
> 
> This also includes some cleanup suggested by Vladimir during internal review, such as:
> 
> - adding an enum to control this behavior, which allows removing the special version of LF.compileToBytecode introduced by JDK-8163369
> - refactored resolution of pregenerated code to the InvokerBytecodeGenerator
> - removing reliance on the LF.debugName (which we have some loose ideas to remove from LF and tuck away in a map we only create and initialize when actually debugging).
> 
> This patch removes 11 out of the 39 classes generated on first use of the StringConcatFactory in a simple test, amounting to a ~10ms speedup on my machine.
> 
> Thanks!
> 
> /Claes

-- 

 <http://www.oracle.com/>
Dr. Michael Haupt | Principal Member of Technical Staff
Phone: +49 331 200 7277 | Fax: +49 331 200 7561
Oracle Java Platform Group | LangTools Team | Nashorn
Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam, Germany

ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstraße 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
 <http://www.oracle.com/commitment>	Oracle is committed to developing practices and products that help protect the environment



More information about the core-libs-dev mailing list