[9] RFR (S): 8152773: C2: LoadNode properties aren't preserved when converting between signed/unsigned variants
Vladimir Kozlov
vladimir.kozlov at oracle.com
Fri Mar 25 19:31:00 UTC 2016
Good.
Thanks,
Vladimir
On 3/25/16 12:06 PM, Vladimir Ivanov wrote:
> Update version:
> http://cr.openjdk.java.net/~vlivanov/8152773/webrev.01/
>
>> assert(false, "no unsigned variant"); should print name of node.
> Fixed.
>
>> Why convert_to_signed_load() does not do the same checks as
>> convert_to_unsigned_load()?
> Fixed.
>
> Best regards,
> Vladimir Ivanov
>
>>
>> On 3/25/16 10:38 AM, Vladimir Ivanov wrote:
>>> http://cr.openjdk.java.net/~vlivanov/8152773/webrev.00/
>>> https://bugs.openjdk.java.net/browse/JDK-8152773
>>>
>>> AndINode::Ideal() converts signed loads to unsigned for some masks.
>>> But it constructs fresh nodes and doesn't copy
>>> LoadNode properties from the node being replaced. It means that
>>> operations marked as pinned, mismatched or unaligned
>>> will not be treated as such anymore.
>>>
>>> The problem was found by compiler/unsafe/UnsafeGetStableArrayElement.
>>>
>>> Testing: failing test, JPRT (in progress), RBT (in progress).
>>>
>>> Best regards,
>>> Vladimir Ivanov
More information about the hotspot-compiler-dev
mailing list