RFR: 8321468: Remove StringUTF16::equals
Claes Redestad
redestad at openjdk.org
Fri Feb 2 22:02:11 UTC 2024
On Fri, 2 Feb 2024 18:45:22 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
> I don't see x86 changes. Why?
The 2-byte variants for `string_equals`, if they ever existed, seems to be gone:
// fast string equals
instruct string_equals(rdi_RegP str1, rsi_RegP str2, rcx_RegI cnt, rax_RegI result,
legRegD tmp1, legRegD tmp2, rbx_RegI tmp3, rFlagsReg cr)
%{
predicate(!VM_Version::supports_avx512vlbw());
match(Set result (StrEquals (Binary str1 str2) cnt));
effect(TEMP tmp1, TEMP tmp2, USE_KILL str1, USE_KILL str2, USE_KILL cnt, KILL tmp3, KILL cr);
format %{ "String Equals $str1,$str2,$cnt -> $result // KILL $tmp1, $tmp2, $tmp3" %}
ins_encode %{
__ arrays_equals(false, $str1$$Register, $str2$$Register,
$cnt$$Register, $result$$Register, $tmp3$$Register,
$tmp1$$XMMRegister, $tmp2$$XMMRegister, false /* char */, knoreg);
%}
ins_pipe( pipe_slow );
%}
So AFAICT there is nothing to change on x86.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/16995#issuecomment-1924766391
More information about the core-libs-dev
mailing list