review (S) for 6663854: assert(n != __null,"Bad immediate dominator info.") in C2 with -Xcomp

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed Feb 17 15:17:48 PST 2010



Tom Rodriguez wrote:
> Thanks.  I fixed the class name and ran it with jtreg to confirm that it works.
> tom
> On Feb 17, 2010, at 3:03 PM, Vladimir Kozlov wrote:
>> Looks good.
>> The main test class is called Tester - not Test6663854:
>> public class Tester {
>> Vladimir
>> Tom Rodriguez wrote:
>>> Oops.
>>> tom
>>> On Feb 17, 2010, at 2:30 PM, Tom Rodriguez wrote:
>>>> 6663854: assert(n != __null,"Bad immediate dominator info.") in C2 with -Xcomp
>>>> Reviewed-by:
>>>> This is another instance of the ConvI2L problem with type information
>>>> being raised to a point that it's no longer true, like the bug
>>>> 6659207, resulting in top being returned and some code path being
>>>> mistakenly killed.  The same style of fix for 6659207 won't work in
>>>> this case because there's no option to bailout if the types won't
>>>> work.  Instead we strip the constrained type off the ConvI2L as it is
>>>> pushed up.  The test case was automatically generated and I couldn't
>>>> simplify it any further so it's pretty horrific looking.  Tested with
>>>> test case and confirmed that stripping the type doesn't affect the
>>>> code quality for scimark which is very sensitive to the loss of the
>>>> type information on ConvI2Ls used in address expressions.
>>>> src/share/vm/opto/split_if.cpp
>>>> test/compiler/6663854/

More information about the hotspot-compiler-dev mailing list