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

Ioi Lam ioi.lam at oracle.com
Wed Jul 8 19:46:20 UTC 2015


Hi Harold,

Is there any reason why the ignoredClinit needs to be written in a jcod 
file and not a jasm file? jasm files would be a lot easier to read and 
maintain than jcod.

Thanks
- Ioi

On 7/8/15 6:32 AM, harold seigel wrote:
> 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