RFR: 8365832: Optimize FloatingDecimal and DigitList with byte[] and cleanup [v4]

Johannes Graham duke at openjdk.org
Wed Aug 20 14:58:44 UTC 2025


On Wed, 20 Aug 2025 14:39:24 GMT, Shaojin Wen <swen at openjdk.org> wrote:

>> Since FloatToDecimal and DoubleToDecimal are used in Float.toString and Double.toString, some code in FloatingDecimal is not used. 
>> 
>> This PR refactors `FloatingDecimal` and `DigitList` to improve efficiency and reduce code duplication.
>> 
>> Key changes:
>> * Convert internal digit storage from `char[]` to `byte[]` for reduced memory footprint.
>> *   Remove unused code and methods that are no longer needed.
>
> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
> 
>   bug fix

src/java.base/share/classes/jdk/internal/math/FloatingDecimal.java line 1744:

> 1742:         }
> 1743:         byte[] buf = new byte[length];
> 1744:         for (int i = 0; i < length; i++) {

`digits` can now be passed directly to  `new ASCIIToBinaryBuffer` directly without copying it first.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23311#discussion_r2288456153


More information about the core-libs-dev mailing list