review(S): 7042153: guarantee(x_compare_res != Constant::not_comparable) failed: incomparable constants in IfOp (original) (raw)

Igor Veresov igor.veresov at oracle.com
Fri May 6 11:05:10 PDT 2011


On 5/6/11 9:37 AM, Tom Rodriguez wrote:

On May 5, 2011, at 10:46 PM, Igor Veresov wrote:

In C1, during IfOp elimination we can try to fold and IfOp that has constant objects as an arguments to the condition that are unloaded (not known at compile time) and are going to be patched later. The solution is to check for such cases in makeifop().

Webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.00/ Tested with a short testcase, which I added to the regression suite. I think instead of disallowing this case you can simply the optimization if notcomparable is returned. notcomparable is a valid return value so I don't think it should be an error to get is back from compare.

Good point. Here's the new webrev: http://cr.openjdk.java.net/~iveresov/7042153/webrev.01

Vladimir, I've also added comments.

Thanks, igor



More information about the hotspot-compiler-dev mailing list