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

Shaojin Wen swen at openjdk.org
Sun Sep 22 16:17:06 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 23 additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - Merge remote-tracking branch 'origin/optim_str_builder_append_202406' into optim_str_builder_append_202406
 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - revert test
 - Merge remote-tracking branch 'upstream/master' into optim_str_builder_append_202406
 - 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`
 - ... and 13 more: https://git.openjdk.org/jdk/compare/7ba4356c...399c8ef5

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19626/files
  - new: https://git.openjdk.org/jdk/pull/19626/files/61196ecd..399c8ef5

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

  Stats: 180711 lines in 1606 files changed: 163525 ins; 8881 del; 8305 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