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

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri May 6 11:14:55 PDT 2011


Typo "it case" -> "in case" in both comments. Otherwise good.

Vladimir

Igor Veresov wrote:
> 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: 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 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: 
> 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