RFR: 8338930: StringConcatFactory hardCoded string concatenation strategy [v9]
ExE Boss
duke at openjdk.org
Sun Sep 8 04:08:05 UTC 2024
On Fri, 6 Sep 2024 19:33:09 GMT, Shaojin Wen <swen at openjdk.org> wrote:
>> 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
src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java line 465:
> 463: * Get the Coder of String, which is used by StringConcatFactory to calculate the initCoder of constants
> 464: */
> 465: byte stringCoder(String str);
Maybe move this after `JavaLangAccess::stringInitCoder()` like it was before?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20675#discussion_r1749063955
More information about the core-libs-dev
mailing list