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

Igor Veresov igor.veresov at oracle.com
Fri May 6 11:20:01 PDT 2011


Oh, right. Thanks Vladimir and Tom!

igor

On 5/6/11 11:14 AM, Vladimir Kozlov wrote:
> 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