On Wed, 20 Sep 2023 09:12:48 GMT, Claes Redestad <redes...@openjdk.org> wrote:
> This patch reverts the use of `ByteArrayLittleEndian` in `StringLatin1`. > > This use is the cause of a small (~1.5ms) startup regression in 22-b15. While > a manageable startup regression in and of itself, the use of `VarHandles` in > core utility classes brings an increased risk of bootstrap circularity > issues, for example disqualifying the use of things like `Integers.toString` > in some places. > > Reverting this partially rolls back the performance improvement gained by > JDK-8310929. It seems reasonable that the compiler can be enhanced to gain > that loss back. digitPair and Unsafe.putShort are a good combination. Can Unsafe be used here? public static void writeDigitPair(byte[] buf, int charPos, int value) { Unsafe.putShortUnaligned( buf, Unsafe.ARRAY_BYTE_BASE_OFFSET + pos, digitPair(value), false); } ------------- PR Comment: https://git.openjdk.org/jdk/pull/15836#issuecomment-1730456039