#14404 caused some startup regressions, where the main cause of startup 
increase in that change was due the use of - and the not very optimized state 
of - runtime bootstrapped switches. This was remedied by a series of 
optimizations to the switch bootstrap methods and finally a desugaring of the 
switch added by #14404. Now @shipilev reports that there appears to be some 
lingering startup issue from #14404. 

One thing that stands out is a couple of caches which are being eagerly 
initialized regardless of user locale. This PR makes those caches lazily 
initialized and slightly more efficient (no need to implement `UnaryOperator` 
after inlining some code). Avoids loading 4 classes if running the HelloStream 
startup test in a locale that's in the set of constant base locales, 2 
otherwise. This doesn't really do much to move the needle for startup on my 
setup, but tentatively it's the only remaining inefficiency I've found that 
came from #14404.

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

Commit messages:
 - Inline InterningCache
 - Make Locale and BaseLocale lazily initialized and more efficient

Changes: https://git.openjdk.org/jdk/pull/20713/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20713&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8338897
  Stats: 37 lines in 2 files changed: 12 ins; 16 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/20713.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20713/head:pull/20713

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

Reply via email to