On Fri, 16 Dec 2022 22:58:23 GMT, Sandhya Viswanathan
<[email protected]> wrote:
>> Claes Redestad has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> Missing & 0xff in StringLatin1::hashCode
>
> src/hotspot/cpu/x86/vm_version_x86.cpp line 1671:
>
>> 1669: }
>> 1670: if (UseAVX >= 2) {
>> 1671: FLAG_SET_ERGO_IF_DEFAULT(UseVectorizedHashCodeIntrinsic, true);
>
> This could be just FLAG_SET_DEFAULT instead of FLAG_SET_ERGO_IF_DEFAULT.
Right, it seems HW-dependent intrinsics in generally doesn't mark that they've
been enabled ergonomically, rather just make it on "by default" when support is
available.
> src/java.base/share/classes/java/lang/StringUTF16.java line 418:
>
>> 416: return 0;
>> 417: } else {
>> 418: return ArraysSupport.vectorizedHashCode(value,
>> ArraysSupport.UTF16);
>
> Special case for 1 missing here.
Intentionally left out. Array length is always even for `UTF16` arrays, but we
could add a case for `2` that'd return `getChar(bytes, 0)` but I didn't see
much of a win when I tested this.
-------------
PR: https://git.openjdk.org/jdk/pull/10847