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