Hi,
in j.l.StringLatin1 we can and do call CharacterDataLatin1 directly in
some places, which avoids a few indirections. Doing so has no effect on
peak performance, but simplifies the work the JIT needs to do and speeds
up a variety of operations during startup and warmup.
http://cr.openjdk.java.net/~redestad/8229283/open.00/
https://bugs.openjdk.java.net/browse/JDK-8229283
Pre-existing StringUpperLower microbenchmark sees 1.5-1.9x
improvements when run with -Xint or -XX:TieredStopAtLevel=1. Affected
operations are very common, so there are tiny but measurable gains
across a diverse set of startup tests.
Thanks!
/Claes