JDK-8239787 : AArch64: String.indexOf may incorrectly handle empty strings

Alexey Bakhtin alexey at azul.com
Thu Feb 27 10:42:45 UTC 2020


Hello Andrew,

Thank you for review.
string_indexof_char intrinsic for aarch64 was introduced in JDK9 ( JDK-8157708 ), so this patch is applicable to JDK9 and higher.
JDK8 does not support string_indexof_char intrinsic, so does not have this issue.

Thank you
Alexey

> On 26 Feb 2020, at 20:39, Andrew Haley <aph at redhat.com> wrote:
> 
> Hi,
> 
> On 2/26/20 12:51 PM, Alexey Bakhtin wrote:
>> Could you please review fix for aarch64 related issue:  https://bugs.openjdk.java.net/browse/JDK-8239787
>> 
>> The fix verifies length of the string at the beginning of string_indexof_char intrinsic code :
>> 
>> diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
>> b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
>> --- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
>> +++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
>> @@ -4860,6 +4860,8 @@
>>   Register ch1 = rscratch1;
>>   Register result_tmp = rscratch2;
>> 
>> + cbz(cnt1, NOMATCH);
>> +
>>   cmp(cnt1, (u1)4);
>>   br(LT, DO1_SHORT);
> 
> Looks good, thanks. Can you please have a look at JDK 8u and 11u, to see
> if the bug is there too? Then we can set backport flags.
> 
> The 8u repo is at
> http://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah/hotspot/
> 
> --
> Andrew Haley  (he/him)
> Java Platform Lead Engineer
> Red Hat UK Ltd. <https://www.redhat.com>
> https://keybase.io/andrewhaley
> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the jdk-dev mailing list