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:03:47 PST 2010

Looks good.

The main test class is called Tester - not Test6663854:

  public class Tester {


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