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

Shaojin Wen duke at openjdk.org
Wed Jul 24 22:19:53 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 17 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - replace unsafe with putChar
 - 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
 - ... and 7 more: https://git.openjdk.org/jdk/compare/8d29efdf...d2dcc24d

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19626/files
  - new: https://git.openjdk.org/jdk/pull/19626/files/9d9c8eb8..d2dcc24d

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

  Stats: 5553 lines in 235 files changed: 3846 ins; 825 del; 882 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 hotspot-compiler-dev mailing list