On Tue, 9 Feb 2021 19:19:18 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> This refactor some `sun.nio.cs.ext` charsets, such as ISO-2022-CN-GB, 
>> ISO-2022-CN-CNS, ISO-2022-KR and a few others to use static rather than 
>> per-instance auxiliary decoders. Doing so reduce overheads of calling 
>> `charset.newDecoder()`. This reduce or eliminate regressions on `new 
>> String(byte[], String)` operations due the removal of thread-local decoder 
>> caching in [JDK-8259842](https://bugs.openjdk.java.net/browse/JDK-8259842)
>> 
>> Most ISO-2022 Charsets define a specialized decoder already. The 
>> `ISO2022.Decoder` class was only used by `ISO2022_KR`, so folding it into 
>> that implementation and simplifying the code brings a rather significant 
>> speed-up, both to decoder creation and on actual decoding.
>> 
>> Testing: tier1-3, manual runs of sun.nio.cs tests
>
> src/jdk.charsets/share/classes/sun/nio/cs/ext/ISO2022_CN.java line 88:
> 
>> 86:         private byte currentSODesig;
>> 87: 
>> 88:         private static final DoubleByte.Decoder gb2312Decoder =
> 
> Since this is a shared constant, I'd use all caps field name.

Will fix.

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

PR: https://git.openjdk.java.net/jdk/pull/2480

Reply via email to