Hi David,
Thanks for raising the lazy initialization issue. The recent version of
ClassLoader.java in webrev.03 is uploaded in place:
http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8164512/webrev.03/
The native libraries map is now created lazily with synchronization.
I keep the lazy initialization that will save to create a CHM as many
custom class loaders don't have native code. I think it's a good
saving. In addition, if we iniitialize the static
systemNativeLibraries at <clinit> time, it may want to avoid using CHM
as it changes the class initialization order.
thanks
Mandy