RFR: 8300916: Re-examine the initialization of JNU Charset in StaticProperty [v5]
Alan Bateman
alanb at openjdk.org
Wed Jan 25 20:15:48 UTC 2023
On Wed, 25 Jan 2023 19:35:18 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> This issue was found during the review of this PR: https://github.com/openjdk/jdk/pull/12132 where `Charset` class was loaded/initialized at the phase 1 of the startup process. Since `Charset` depends on `StaticProperty`, loading of `Charset` class should be delayed. I basically moved cache for `jnuCharset` into the actual calling locations `ProcessImpl` and `ProcessEnvironment` for unix platforms so that initPhase1() won't initialize `Charset` class.
>> Unrelated, but I replaced `Locale.ENGLISH` with `Locale.ROOT` in the argument of `toLowerCase()`.
>
> Naoto Sato has updated the pull request incrementally with one additional commit since the last revision:
>
> Use StaticProperty.fileEncoding() & make the field @Stable
src/java.base/share/classes/java/nio/charset/Charset.java line 633:
> 631:
> 632: @Stable
> 633: private static volatile Charset defaultCharset;
If the field is stable then does the volatile go away?
-------------
PR: https://git.openjdk.org/jdk/pull/12171
More information about the core-libs-dev
mailing list