<i18n dev> RFR: 8358426: Improve lazy computation in Locale [v2]

Justin Lu jlu at openjdk.org
Thu Jun 5 20:29:48 UTC 2025


> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/25646/files
  - new: https://git.openjdk.org/jdk/pull/25646/files/b679594c..e6f3d0de

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=25646&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25646&range=00-01

  Stats: 155 lines in 2 files changed: 78 ins; 63 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/25646.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25646/head:pull/25646

PR: https://git.openjdk.org/jdk/pull/25646


More information about the i18n-dev mailing list