review (S) for 6663854: assert(n != __null,"Bad immediate dominator info.") in C2 with -Xcomp
Tom Rodriguez
Thomas.Rodriguez at Sun.COM
Wed Feb 17 14:30:03 PST 2010
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/Test6663854.java
More information about the hotspot-compiler-dev
mailing list