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