RFR: 8349176: Speed up Integer/Long.toString via allocateUninitializedArray [v5]
Roger Riggs
rriggs at openjdk.org
Fri Jun 27 19:11:44 UTC 2025
On Thu, 22 May 2025 00:57:06 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> The byte[] allocated in Integer/Long.toString is fully filled, so we can use StringConcatHelper::newArray to create byte[] to improve performance.
>
> Shaojin Wen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 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
> - simplify code
> - use Unsafe::allocateUninitializedArray
> - 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
> - ... and 1 more: https://git.openjdk.org/jdk/compare/b685ea54...85e437a8
Unsafe.allocateUninitializedArray has a single use at present and should not become more widely used.
The current performance is adequate and the small improvement is not sufficient to warrant using Unsafe.
-------------
PR Review: https://git.openjdk.org/jdk/pull/23353#pullrequestreview-2967665577
More information about the core-libs-dev
mailing list