RFR(XS) 8130669: VM prohibits <clinit> methods with return values

harold seigel harold.seigel at oracle.com
Wed Jul 8 13:32:22 UTC 2015


Hi,

Please review this small change to fix bug JDK-8130669.  The JVM 
incorrectly throws ClassFormatError exceptions for non-void methods 
named <clinit>.  But, the JVM Spec 8 says that such <clinit> methods 
should be ignored.  See 
http://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.9 
for details.

The fix changes the JVM to, in this case, only throw ClassFormatError 
exceptions for non-void <init> methods.

Open Webrev: http://cr.openjdk.java.net/~hseigel/bug_8130669/

JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8130669

The fix was tested with JCK Lang and VM tests, the UTE quick and 
split_verifier tests, and the hotspot, java/io, java/lang, and java/util 
JTreg tests.

Thanks, Harold


More information about the hotspot-runtime-dev mailing list