On Fri, 2 May 2025 18:02:57 GMT, Chen Liang <[email protected]> wrote:
>> Shaojin Wen has updated the pull request with a new target base due to a
>> merge or a rebase. The pull request now contains eight commits:
>>
>> - Merge remote-tracking branch 'upstream/master' into
>> allocate_un_init_202501
>>
>> # Conflicts:
>> # src/java.base/share/classes/java/lang/Integer.java
>> # src/java.base/share/classes/java/lang/Long.java
>> - use StringConcatHelper.newArray
>> - simplify
>> - use Unsafe.allocateUninitializedArray
>> - revert StringConcatHelper newArray change
>> - copyright
>> - remove duplicate check
>> - allocateUninitializedArray
>
> src/java.base/share/classes/java/lang/Integer.java line 439:
>
>> 437: return new String(buf, LATIN1);
>> 438: } else {
>> 439: byte[] buf = StringConcatHelper.newArray(size << 1);
>
> @RogerRiggs I recommended StringConcatHelper because that was used in
> StringLatin1.
>
> For StringUTF16, it has its own newBytesFor:
> Suggestion:
>
> byte[] buf = StringUTF16.newBytesFor(size);
>
> Or we can factor out a `StringLatin1.newBytesFor` too and encapsulate
> `newArray` usage.
public static byte[] newBytesFor(int len) {
return new byte[newBytesLength(len)];
}
StringUTF16.newBytesFor uses new byte[], which is not the purpose of this PR
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23353#discussion_r2071982990