RFR: 8316662: Remove one allocation per conversion in Double.toString(double) and Float.toString(float) [v2]

温绍锦 duke at openjdk.org
Fri Sep 29 19:00:00 UTC 2023


On Fri, 22 Sep 2023 17:39:53 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:

>> By correctly sizing an intermediate `byte[]` and making use of the internal `newStringNoRepl()` method, one allocation per conversion can be avoided when the runtime uses compact strings.
>
> Raffaello Giulietti has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Uppercase JLA.

src/java.base/share/classes/jdk/internal/math/DoubleToDecimal.java line 110:

> 108:     private static final int NAN            = 5;
> 109: 
> 110:     private static final JavaLangAccess JLA = SharedSecrets.getJavaLangAccess();

JLA is defined repeatedly in many places. Is this a good practice?  Can we use it directly, like this:

return SharedSecrets
           .getJavaLangAccess()
           .newStringNoRepl(bytes, StandardCharsets.ISO_8859_1);

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15861#discussion_r1341704571


More information about the core-libs-dev mailing list