Request for reviews (XS): 6976400: "Meet Not Symmetric"

Tom Rodriguez tom.rodriguez at oracle.com
Thu Aug 12 12:55:33 PDT 2010


I'm having some trouble wrapping my head around this.  The output below is for when it fails, right?  What does it return for these after your fix?  I guess I don't see why checking for j.l.O is correct.

tom

On Aug 12, 2010, at 10:48 AM, Vladimir Kozlov wrote:

> http://cr.openjdk.java.net/~kvn/6976400/webrev
> 
> Fixed 6976400: "Meet Not Symmetric"
> 
> Meet of integer array pointer type with array pointer
> which has j.l.Object klass incorrectly falls to bottom:
> 
> t   =                   byte[int:>=0]:NotNull:exact+12 *
> this=                   bottom[int:>=0]+12 *
> mt=(t meet this)=       bottom[int:>=0]+12 *
> t_dual=                 int:127..-128:www[int:max..0]:AnyNull:exact+12 *,iid=top
> mt_dual=                top[int:max..0]:TopPTR+12 *,iid=top
> mt_dual meet t_dual=    bottom[int:max..0]:AnyNull:exact+12 * [narrow]
> 
> Solution:
> Add missing checks for j.l.Object klass in TypeAryPtr::xmeet().
> 
> Tested with failing cases, CTW, java/lang regression tests.



More information about the hotspot-compiler-dev mailing list