[11u] RFR(S): 8261022: Fix incorrect result of Math.abs() with char type

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[11u] RFR(S): 8261022: Fix incorrect result of Math.abs() with char type

Pengfei Li (Arm Technology China)
Hi,

I'd like to backport JDK-8261022 to jdk11u.

Original JBS: https://bugs.openjdk.java.net/browse/JDK-8261022
Modified webrev: http://cr.openjdk.java.net/~pli/rfr/8261022/backport11u/

This issue causes vectorized abs generate incorrect result when the argument has char type. Root cause is that the vector abs operation is not specially handled in computing vector element types after we enabled that in JDK-8222074 in jdk13. As JDK-8222074 was backported to jdk11u, jdk11u is also affected.

The patch to fix this is in jdk17 now. The fix does not apply to jdk11u cleanly, as VectorNode::is_shift_opcode() is not defined in jdk11u. I have modified the patch a little bit to fit this difference.

Tested jtreg hotspot::tier1 and the newly added jtreg case. No failure after the modified patch.

--
Thanks,
Pengfei

Reply | Threaded
Open this post in threaded view
|

[11u] RFR(S): 8261022: Fix incorrect result of Math.abs() with char type

Pengfei Li (Arm Technology China)
Resend

> Hi,
>
> I'd like to backport JDK-8261022 to jdk11u.
>
> Original JBS: https://bugs.openjdk.java.net/browse/JDK-8261022
> Modified webrev: http://cr.openjdk.java.net/~pli/rfr/8261022/backport11u/
>
> This issue causes vectorized abs generate incorrect result when the argument
> has char type. Root cause is that the vector abs operation is not specially
> handled in computing vector element types after we enabled that in JDK-
> 8222074 in jdk13. As JDK-8222074 was backported to jdk11u, jdk11u is also
> affected.
>
> The patch to fix this is in jdk17 now. The fix does not apply to jdk11u cleanly,
> as VectorNode::is_shift_opcode() is not defined in jdk11u. I have modified
> the patch a little bit to fit this difference.
>
> Tested jtreg hotspot::tier1 and the newly added jtreg case. No failure after
> the modified patch.
>
> --
> Thanks,
> Pengfei

Reply | Threaded
Open this post in threaded view
|

Re: [11u] RFR(S): 8261022: Fix incorrect result of Math.abs() with char type

Vladimir Kozlov
Backport patch looks good.

Thanks,
Vladimir K

On 2/11/21 5:09 AM, Pengfei Li wrote:

> Resend
>
>> Hi,
>>
>> I'd like to backport JDK-8261022 to jdk11u.
>>
>> Original JBS: https://bugs.openjdk.java.net/browse/JDK-8261022
>> Modified webrev: http://cr.openjdk.java.net/~pli/rfr/8261022/backport11u/
>>
>> This issue causes vectorized abs generate incorrect result when the argument
>> has char type. Root cause is that the vector abs operation is not specially
>> handled in computing vector element types after we enabled that in JDK-
>> 8222074 in jdk13. As JDK-8222074 was backported to jdk11u, jdk11u is also
>> affected.
>>
>> The patch to fix this is in jdk17 now. The fix does not apply to jdk11u cleanly,
>> as VectorNode::is_shift_opcode() is not defined in jdk11u. I have modified
>> the patch a little bit to fit this difference.
>>
>> Tested jtreg hotspot::tier1 and the newly added jtreg case. No failure after
>> the modified patch.
>>
>> --
>> Thanks,
>> Pengfei
>