RFR: 8338930: StringConcatFactory hardCoded string concatenation strategy [v9]

Shaojin Wen swen at openjdk.org
Fri Sep 6 19:33:09 UTC 2024


> This is a follow-up to PR #20273, which improves performance when the number of parameters exceeds 20.
> 
> When the number of parameters is large, the possibility of reuse will be lower, so we can use the static concat method and write the length and coder directly into the bytecode to solve the performance regression problem.

Shaojin Wen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 16 commits:

 - java doc
 - Merge remote-tracking branch 'upstream/master' into optim_concat_factory_202408
   
   # Conflicts:
   #	src/java.base/share/classes/java/lang/System.java
   #	src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
 - ACC_ABSTRACT
 - suggestion from @liach
 - Merge remote-tracking branch 'upstream/master' into optim_concat_factory_202408
   
   # Conflicts:
   #	src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
 - reuseThreshold -> cacheThreshold
 - Revert "optimize for CompactStrings is off"
   
   This reverts commit a9fa264afd9fa625ef29357a7ca8559ce9c5fea4.
 - optimize for CompactStrings is off
 - Merge remote-tracking branch 'upstream/master' into optim_concat_factory_202408
   
   # Conflicts:
   #	src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
 - add control flag `reuseThreshold`
 - ... and 6 more: https://git.openjdk.org/jdk/compare/fbe26293...c4737625

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

Changes: https://git.openjdk.org/jdk/pull/20675/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20675&range=08
  Stats: 132 lines in 3 files changed: 83 ins; 2 del; 47 mod
  Patch: https://git.openjdk.org/jdk/pull/20675.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20675/head:pull/20675

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


More information about the core-libs-dev mailing list