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. Looks good. I also wonder if storing digit pairs in platform endianness is better; currently only Unsafe support writing multibytes with platform endianness. Can #14636 be a solution to avoid early VH initialization? Also curious how you created such a "Base vs Test" metrics table, could you teach me how? ------------- Marked as reviewed by liach (Author). PR Review: https://git.openjdk.org/jdk/pull/15836#pullrequestreview-1635269985 PR Comment: https://git.openjdk.org/jdk/pull/15836#issuecomment-1727322352