<i18n dev> RFR: 8335252: Reduce size of j.u.Formatter.Conversion#isValid [v4]
Paul Sandoz
psandoz at openjdk.org
Fri Jun 28 16:31:23 UTC 2024
On Fri, 28 Jun 2024 12:46:49 GMT, Shaojin Wen <duke at openjdk.org> wrote:
>> Currently, the java.util.Formatter$Conversion::isValid method is implemented based on switch, which cannot be inlined because codeSize > 325. This problem can be avoided by implementing it with ImmutableBitSetPredicate.
>>
>> use `-XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining` to see the master branch:
>>
>> @ 109 java.util.Formatter$Conversion::isValid (358 bytes) failed to inline: hot method too big
>>
>>
>> current version
>>
>> @ 109 java.util.Formatter$Conversion::isValid (10 bytes) inline (hot)
>> @ 4 jdk.internal.util.ImmutableBitSetPredicate$SmallImmutableBitSetPredicate::test (50 bytes) inline (hot)
>
> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
>
> fix comment
That's a clever change and more preferable (but still potentially fragile in the source to bytecode translation process). However I still don't understand the overall motivation, why does it matter?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/19926#issuecomment-2197275066
More information about the i18n-dev
mailing list