From 74ae3c688b37e693e20eb4e17c631897c5464400 Mon Sep 17 00:00:00 2001 From: Shaojin Wen Date: Mon, 11 Nov 2024 00:40:26 +0000 Subject: [PATCH] 8343650: Reuse StringLatin1::putCharsAt and StringUTF16::putCharsAt Reviewed-by: liach --- .../classes/java/lang/StringConcatHelper.java | 44 ++++--------------- 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/src/java.base/share/classes/java/lang/StringConcatHelper.java b/src/java.base/share/classes/java/lang/StringConcatHelper.java index d0c558ed93a..b635d0dee0f 100644 --- a/src/java.base/share/classes/java/lang/StringConcatHelper.java +++ b/src/java.base/share/classes/java/lang/StringConcatHelper.java @@ -236,17 +236,10 @@ final class StringConcatHelper { if (indexCoder < UTF16) { if (value) { index -= 4; - buf[index] = 't'; - buf[index + 1] = 'r'; - buf[index + 2] = 'u'; - buf[index + 3] = 'e'; + StringLatin1.putCharsAt(buf, index, 't', 'r', 'u', 'e'); } else { index -= 5; - buf[index] = 'f'; - buf[index + 1] = 'a'; - buf[index + 2] = 'l'; - buf[index + 3] = 's'; - buf[index + 4] = 'e'; + StringLatin1.putCharsAt(buf, index, 'f', 'a', 'l', 's', 'e'); } index -= prefix.length(); prefix.getBytes(buf, index, String.LATIN1); @@ -254,17 +247,10 @@ final class StringConcatHelper { } else { if (value) { index -= 4; - StringUTF16.putChar(buf, index, 't'); - StringUTF16.putChar(buf, index + 1, 'r'); - StringUTF16.putChar(buf, index + 2, 'u'); - StringUTF16.putChar(buf, index + 3, 'e'); + StringUTF16.putCharsAt(buf, index, 't', 'r', 'u', 'e'); } else { index -= 5; - StringUTF16.putChar(buf, index, 'f'); - StringUTF16.putChar(buf, index + 1, 'a'); - StringUTF16.putChar(buf, index + 2, 'l'); - StringUTF16.putChar(buf, index + 3, 's'); - StringUTF16.putChar(buf, index + 4, 'e'); + StringUTF16.putCharsAt(buf, index, 'f', 'a', 'l', 's', 'e'); } index -= prefix.length(); prefix.getBytes(buf, index, String.UTF16); @@ -638,34 +624,20 @@ final class StringConcatHelper { if (coder == String.LATIN1) { if (value) { index -= 4; - buf[index] = 't'; - buf[index + 1] = 'r'; - buf[index + 2] = 'u'; - buf[index + 3] = 'e'; + StringLatin1.putCharsAt(buf, index, 't', 'r', 'u', 'e'); } else { index -= 5; - buf[index] = 'f'; - buf[index + 1] = 'a'; - buf[index + 2] = 'l'; - buf[index + 3] = 's'; - buf[index + 4] = 'e'; + StringLatin1.putCharsAt(buf, index, 'f', 'a', 'l', 's', 'e'); } index -= prefix.length(); prefix.getBytes(buf, index, String.LATIN1); } else { if (value) { index -= 4; - StringUTF16.putChar(buf, index, 't'); - StringUTF16.putChar(buf, index + 1, 'r'); - StringUTF16.putChar(buf, index + 2, 'u'); - StringUTF16.putChar(buf, index + 3, 'e'); + StringUTF16.putCharsAt(buf, index, 't', 'r', 'u', 'e'); } else { index -= 5; - StringUTF16.putChar(buf, index, 'f'); - StringUTF16.putChar(buf, index + 1, 'a'); - StringUTF16.putChar(buf, index + 2, 'l'); - StringUTF16.putChar(buf, index + 3, 's'); - StringUTF16.putChar(buf, index + 4, 'e'); + StringUTF16.putCharsAt(buf, index, 'f', 'a', 'l', 's', 'e'); } index -= prefix.length(); prefix.getBytes(buf, index, String.UTF16);