On Thu, 5 Jun 2025 20:29:48 GMT, Justin Lu <[email protected]> wrote:
>> Please review this PR which improves occurrences of lazy computation in
>> `Locale` and `BaseLocale`.
>>
>> Existing lazy initialization strategies such as CHM, static nested class,
>> and local inner class are replaced with Stable Values.
>>
>> Lambda usage is intentionally avoided in this change during `Locale`
>> creation and in static fields due to potential startup performance
>> degradation as noted by
>> [JDK-8331932](https://bugs.openjdk.org/browse/JDK-8331932).
>>
>> Rather than convert `iso3166CodesMap` to a Stable Map, each ISO 3166
>> resource is represented as a SV. Also, I did not think it was necessary to
>> maintain a SV for _both_ the array and set of ISO3166-1 alpha-2 codes.
>
> Justin Lu has updated the pull request incrementally with one additional
> commit since the last revision:
>
> review - Moving all ISO resources to LocaleISOData & blessed modifier order
> for languageTag
src/java.base/share/classes/java/util/Locale.java line 1282:
> 1280: public static Set<String> getISOCountries(IsoCountryCode type) {
> 1281: Objects.requireNonNull(type);
> 1282: return switch (type) {
The body of this method could also be moved to a method in `LocaleISOData`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25646#discussion_r2134036165