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

Shaojin Wen swen at openjdk.org
Fri Sep 6 00:48:01 UTC 2024


On Thu, 5 Sep 2024 23:37:30 GMT, Chen Liang <liach at openjdk.org> wrote:

>> Shaojin Wen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 12 commits:
>> 
>>  - 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`
>>  - Revert "Optimize the construction of MethodType and MethodTypeDesc to reduce memory allocation"
>>    
>>    This reverts commit 3bed7290f5cb987e86407f698fb0598f19d65628.
>>  - Optimize the construction of MethodType and MethodTypeDesc to reduce memory allocation
>>  - revert code style
>>  - from suggest
>>  - ... and 2 more: https://git.openjdk.org/jdk/compare/8fb8cd85...5c12e337
>
> src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java line 1288:
> 
>> 1286:                             if (staticConcat) {
>> 1287:                                 clb.withSuperclass(CD_Object)
>> 1288:                                    .withFlags(ACC_FINAL | ACC_SUPER | ACC_SYNTHETIC);
> 
> According to #19517, project lilliput wants utility classes to be declared `abstract` instead of `final` so their pointers won't be encodable in object headers

Do I need to declare it as ACC_INTERFACE? Many utility classes do this.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20675#discussion_r1746349350


More information about the core-libs-dev mailing list