On Tue, 12 Sep 2023 01:00:39 GMT, 温绍锦 <d...@openjdk.org> wrote:
>> Some codes in core libs are duplicated, including: >> java.util.DecimalDigits::DIGITS -> java.lang.StringLatin1.PACKED_DIGITS >> java.util.DecimalDigits::size -> java.lang.Long.stringSize >> >> We can reduce duplication through JavaLangAccess, which is also needed in >> other places, such as: >> https://github.com/openjdk/jdk/pull/15555 > > 温绍锦 has updated the pull request incrementally with one additional commit > since the last revision: > > little-endian Running some additional testing. This mostly looks fine. One issue is that you're swapping the byte-order in `DecimalDigits::DIGITS` but not in `OctalDigits` and `HexDigits`. I think we need to keep these internally consistent to avoid surprises. I also would like to see performance numbers of the byte order swap evaluated in isolation. I suspect the real effect is small and might be due to JIT noise rather than a real effect, and that this swap got rushed in without solid evidence that it helps. If there's no significant performance difference I would prefer if we kept `DecimalDigits::DIGITS` big-endian encoded - which is more intuitive to most - and adjust code depending on `DecimalDigits::digitPair` to use `ByteArray` rather than `ByteArrayLittleEndian`. ------------- PR Comment: https://git.openjdk.org/jdk/pull/15651#issuecomment-1715419335