On Tue, 27 Aug 2024 05:08:53 GMT, Shaojin Wen <s...@openjdk.org> wrote:

> A small optimization, when CompactStrings is turned off, the coder method is 
> not generated, which improves the startup performance

The `JLA​.stringInitCoder() != 0` check should probably be the first thing in 
this method, so that **C2** can reliably turn it into a `nop` when compact 
strings are off:

src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java line 1204:

> 1202:          * Returns null if no such parameter exists or CompactStrings 
> is off.
> 1203:          */
> 1204:         private static MethodTypeDesc coderArgsIfMaybeUTF16(MethodType 
> concatArgs) {

Suggestion:

        private static MethodTypeDesc coderArgsIfMaybeUTF16(MethodType 
concatArgs) {
            if (JLA.stringInitCoder() != 0) {
                return null;
            }

src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java line 1214:

> 1212:             }
> 1213: 
> 1214:             if (maybeUTF16Count == 0 || JLA.stringInitCoder() != 0) {

Suggestion:

            if (maybeUTF16Count == 0) {

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

PR Review: https://git.openjdk.org/jdk/pull/20722#pullrequestreview-2262445378
PR Review Comment: https://git.openjdk.org/jdk/pull/20722#discussion_r1732390180
PR Review Comment: https://git.openjdk.org/jdk/pull/20722#discussion_r1732390401

Reply via email to