RFR(S): 8160717: MethodHandles.loop() does not check for excessive signature

Michael Haupt michael.haupt at oracle.com
Wed Jul 6 07:50:33 UTC 2016

Dear all,

please review this fix.
Bug: https://bugs.openjdk.java.net/browse/JDK-8160717 <https://bugs.openjdk.java.net/browse/JDK-8160717>
Webrev: http://cr.openjdk.java.net/~mhaupt/8160717/webrev.00/ <http://cr.openjdk.java.net/~mhaupt/8160717/webrev.00/>

The fix captures failures during bytecode generation and marks the respective LambdaForms as permanently executable in LF interpretation mode only. The fix also introduces two debugging aids:

-Djava.lang.invoke.MethodHandle.LOG_LF_COMPILATION_FAILURE: if set to true (default is false), LF compilation failures will be logged to the console.

The PerfCounter java.lang.invoke.failedLambdaFormCompilations tracks failing LF compilations. It can be printed with jstat -J-Djstat.showUnsupported=true -snap -a file://....




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