RFR(7u) 8046233: VerifyError on backward branch

Coleen Phillimore coleen.phillimore at oracle.com
Fri Aug 29 15:23:42 UTC 2014


Harold,  This looks good.  I agree with Karen's request for a name 
change; either of her suggestions makes sense to me.

Thanks,
Coleen

On 8/27/14, 11:42 AM, harold seigel wrote:
> Hi Karen,
>
> I haven't checked this in.  You're the first reviewer.
>
> I like  "has_nonmatching_new_object".  I'll change it to that.
>
> Thanks!
> Harold
>
> On 8/27/2014 11:30 AM, Karen Kinnear wrote:
>> Harold,
>>
>> Code fix looks good.
>>
>> If you haven't already checked this in - would you mind renaming 
>> "has_unique_new_object" to
>> something like "has_nonmatching_uninit_object" or 
>> "has_nonmatching_new_object"? If that makes sense
>> to you.
>>
>> thanks,
>> Karen
>>
>> On Aug 22, 2014, at 10:47 AM, harold seigel wrote:
>>
>>> Hi,
>>>
>>> Please review this small fix for bug 8046233 for JDK-7u.
>>>
>>> Section 4.10.2.4 
>>> <http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10.2.4> 
>>> of the JVM-7 Spec says:
>>>
>>>    A valid instruction sequence must not have an uninitialized object
>>>    on the operand stack or in a local variable at the target of a
>>>    backwards branch if the special type of the uninitialized object is
>>>    merged with a special type other than itself ...
>>>
>>> Currently, the split verifier does not allow any backward branches 
>>> into a block containing an uninitialized object. This fix allows 
>>> such backward branches if the originating block contains an 
>>> uninitialized object of the same special type.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8046233
>>> Open webrev: http://cr.openjdk.java.net/~hseigel/bug_8046233_7/
>>>
>>> The fix was tested with the JCK lang, vm, and api/java_lang tests, 
>>> the JTREG hotspot tests, and tests that reproduced the problem. With 
>>> this fix, the tests that reproduce the problem get the same result 
>>> with both the old and the split verifier.
>>>
>>> This bug has already been fixed in JDK-8u and JDK-9.  But, a 
>>> straight back-port to JDK-7u could not be done because the JVM-8 
>>> Spec differs from the JVM-7 Spec for this case.
>>>
>>> Thanks, Harold
>



More information about the hotspot-runtime-dev mailing list