RFR(S) 8031743: C2: loadI2L_immI broken for negative memory values
Igor Veresov
igor.veresov at oracle.com
Tue Jan 21 20:03:21 PST 2014
Thanks, Dean!
igor
On Jan 21, 2014, at 7:00 PM, Dean Long <dean.long at oracle.com> wrote:
> If you still need another review: it looks good.
>
> dl
>
> On 1/18/2014 5:48 PM, Igor Veresov wrote:
>> Here’s the updated review: http://cr.openjdk.java.net/~iveresov/8031743/webrev.01/
>>
>> igor
>>
>> On Jan 18, 2014, at 1:21 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>
>>> Integer positive fits into 31 bits not into 32.
>>>
>>> Vladimir
>>>
>>> On 1/18/14 1:18 PM, Igor Veresov wrote:
>>>> We have this convention already in quite some places, so I was trying to follow it... For example on sparc there is immU13, which actually means simm13 & >= 0, which means it’s actually 12 bit. Likewise on ARM we have immURot that works that same way. So, the way these things go, I think, is that immUX means: fits in X bits and is positive.
>>>>
>>>> igor
>>>>
>>>> On Jan 18, 2014, at 1:02 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>>>>
>>>>> immU32 name is not correct, it should be immU31.
>>>>>
>>>>> Vladimir K
>>>>>
>>>>> On 1/18/14 12:51 PM, Igor Veresov wrote:
>>>>>> Transformation of (ConvI2L (AndI (LoadI mem) mask)) to (AndI (LoadUI2L (mem) mask) is only valid for positive mask, otherwise the sign extending effect of ConvI2L is missed. The solution is to restrict the optimization for the positive values of mask.
>>>>>>
>>>>>> Webrev: http://cr.openjdk.java.net/~iveresov/8031743/webrev.00/
>>>>>> Testing: new regression test, jprt
>>>>>>
>>>>>> Thanks!
>>>>>> igor
>>>>>>
>
More information about the hotspot-compiler-dev
mailing list