On Wed, 6 Dec 2023 20:55:48 GMT, Naoto Sato <na...@openjdk.org> wrote:
>> Currently, Locale-related system properties, such as `user.language` or >> `user.country`, are initialized when the `Locale` class is loaded. Making >> them static properties is safer than relying on the `Locale` class loading >> timing, which could potentially be changed depending on the implementation. > > Naoto Sato has updated the pull request with a new target base due to a merge > or a rebase. The incremental webrev excludes the unrelated changes brought in > by the merge/rebase. The pull request contains four additional commits since > the last revision: > > - Reflects review comments > - Merge branch 'master' into JDK-8321206-Locale-static-properties > - Add exclusions in cdsHeapVerifier for new StaticProperties > - initial commit > @iklam or @calvinccheung could either of you take a look at the CDS changes > here please. Thanks. > I'm not following the changes to cdsHeapVerifier.cpp. You've marked the new > entries as C but the definition is: > ``` > // [C] A non-final static string that is assigned a string literal during > class > // initialization; this string is never changed during -Xshare:dump. >``` > and these are final static strings not non-final. ??? Hi David, you're correct that the new entries are not of type "C", as the new strings are `static final`. Anyway, the whole reason of this table is to work around the weakness of cdsHeapVerifier, which can sometimes report false positives. The new entries follow the same pattern of the previous entries (which are also wrong ... i.e., `StaticProperty::FILE_ENCODING`) I have file https://bugs.openjdk.org/browse/JDK-8321940 to improve cdsHeapVerifier. Hopefully I can remove all the entries in cdsHeapVerifier.cpp added by this PR. ------------- PR Comment: https://git.openjdk.org/jdk/pull/16986#issuecomment-1853097367