Integrated: 8316582: Minor startup regression in 22-b15 due JDK-8310929

Chen Liang liach at openjdk.org
Thu Sep 21 09:41:34 UTC 2023


On Wed, 20 Sep 2023 09:12:48 GMT, Claes Redestad <redestad at 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


More information about the core-libs-dev mailing list