RFR: 8333893: Optimization for StringBuilder append boolean & null [v14]

Shaojin Wen duke at openjdk.org
Thu Jul 18 00:58:04 UTC 2024


> After PR https://github.com/openjdk/jdk/pull/16245, C2 optimizes stores into primitive arrays by combining values ​​into larger stores.
> 
> This PR rewrites the code of appendNull and append(boolean) methods so that these two methods can be optimized by C2.

Shaojin Wen has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - private static final field `UNSAFE`
 - Utf16 case remove `append first utf16 char`
 - `delete` -> `setLength`
 - copyright 2024
 - optimization for x64
 - rename benchmark
 - code format & use long address
 - fix assert
 - StringLatin1 & StringUTF16 use the same logic
 - ... and 5 more: https://git.openjdk.org/jdk/compare/a8ed2eb7...7563577c

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19626/files
  - new: https://git.openjdk.org/jdk/pull/19626/files/6be002ac..7563577c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19626&range=13
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19626&range=12-13

  Stats: 65489 lines in 1836 files changed: 38953 ins; 18739 del; 7797 mod
  Patch: https://git.openjdk.org/jdk/pull/19626.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19626/head:pull/19626

PR: https://git.openjdk.org/jdk/pull/19626


More information about the core-libs-dev mailing list