RFR: 8333893: Optimization for StringBuilder append boolean & null [v4]
Shaojin Wen
duke at openjdk.org
Wed Jun 12 12:29:15 UTC 2024
On Tue, 11 Jun 2024 11:35:28 GMT, Shaojin Wen <duke at openjdk.org> wrote:
>> 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 incrementally with one additional commit since the last revision:
>
> revert
-XX:+TraceMergeStores -XX:CompileCommand=printcompilation,*::* -XX:+PrintInlining
@ 5 java.lang.AbstractStringBuilder::appendNull (75 bytes) inline (hot)
@ 9 java.lang.AbstractStringBuilder::ensureCapacityInternal (39 bytes) inline (hot)
@ 24 java.lang.AbstractStringBuilder::newCapacity (59 bytes) failed to inline: too big
@ 32 java.util.Arrays::copyOf (33 bytes) inline (hot)
@ 7 java.lang.Object::clone (0 bytes) failed to inline: native method
@ 7 java.lang.Object::clone (0 bytes) (intrinsic)
@ 25 java.lang.Math::min (11 bytes) (intrinsic)
@ 28 java.lang.System::arraycopy (0 bytes) (intrinsic)
@ 18 java.lang.AbstractStringBuilder::isLatin1 (19 bytes) inline (hot)
@ 63 java.lang.StringUTF16::putCharsAt (33 bytes) inline (hot)
@ 3 java.lang.StringUTF16::putChar (54 bytes) (intrinsic)
@ 11 java.lang.StringUTF16::putChar (54 bytes) (intrinsic)
@ 20 java.lang.StringUTF16::putChar (54 bytes) (intrinsic)
@ 29 java.lang.StringUTF16::putChar (54 bytes) (intrinsic)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19626#issuecomment-2162882056
More information about the core-libs-dev
mailing list