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

Igor Veresov igor.veresov at
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 make_ifop().
>> Webrev:
>> 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 not_comparable is returned.  not_comparable 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:

Vladimir, I've also added comments.


More information about the hotspot-compiler-dev mailing list