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

harold seigel harold.seigel at oracle.com
Wed Jul 8 19:49:28 UTC 2015


Hi Ioi,

I'll rewrite it in .jasm.  I just took the .jcod test from the test case 
attached to the bug.

Thanks, Harold

On 7/8/2015 3:46 PM, Ioi Lam wrote:
> 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