RFR(S) 8026894: Improve VerifyError message about overriding a final method

harold seigel harold.seigel at oracle.com
Mon Jun 30 15:09:02 UTC 2014


Hi Lois,

Thanks for the review.  I'll move the test into test/runtime/verifier.

The actual check for overriding a final method is done in 
classFileParser.cpp, regardless of whether or not the verifier is enabled.

Thanks, Harold

On 6/30/2014 9:47 AM, Lois Foltan wrote:
> Hi Harold,
>
> src/share/vm/classFileParser.cpp
>   - No comments, looks good.
>
> test/runtime/OverrideMsg/OverriderMsg.java
>   - instead of creating a new directory, can we put this test in 
> test/runtime/verifier?
>   - If you want to ensure that this test always runs with the verifier 
> turned on, I think
>     you should specify "-verify" as well in the call to 
> createJavaProcessBuilder().
>
> Thanks,
> Lois
>
> On 6/30/2014 9:29 AM, harold seigel wrote:
>> Hi,
>>
>> Please review this small enhancement for bug 8026894.  This change 
>> adds the class name to the Exception message when a method in a 
>> subclass overrides a final method in a super class. Here's a sample 
>> old message, followed by the improved message:
>>
>>    Exception in thread "main" java.lang.VerifyError: class Overrider
>>    overrides final method m.(Ljava/lang/String;)V
>>
>>    Exception in thread "main" java.lang.VerifyError: class Overrider
>>    overrides final method pkg.HasFinal.m(Ljava/lang/String;)V
>>
>>
>> Open webrev:  http://cr.openjdk.java.net/~hseigel/bug_8026984/
>>
>> Bug:  https://bugs.openjdk.java.net/browse/JDK-8026894
>>
>> The fix was tested with the JCK lang and vm tests, the default method 
>> tests, the UTE verifier and quick tests, and the JTREG hotspot tests.
>>
>> Thanks, Harold
>>
>>
>



More information about the hotspot-runtime-dev mailing list