8184917: System.initPhase1 does not need to pre-load libzip
Alan Bateman
Alan.Bateman at oracle.com
Wed Jul 19 13:47:18 UTC 2017
System.initPhase1 (formerly initializeSystemClasses) currently pre-loads
the zip library. I'd like to drop this in jdk10/jdk10 so that it is
loaded lazily and so reduce the code executed in this phase of startup.
One motivation is that the zip code no longer uses native methods in
libzip to access zip files, it is only now needed when
inflating/deflating or for checksums. Another motivation is that jlink
can be used to create runtime images that contain the main application
and all modules that is needed (there is no class path or module path
with JAR files in these cases and libzip is only needed if the image is
created with compression).
The changes are trivial but something for early in a release to shake
out any issues (attempts to touch this code in this past ended in tears
due to bootstrapping issues, all issues that are in the past now).
http://cr.openjdk.java.net/~alanb/8184917/webrev/index.html
-Alan
More information about the core-libs-dev
mailing list