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

Reply via email to