RFR: 8207263: Store the Configuration for system modules into CDS archive

Jiangli Zhou jiangli.zhou at oracle.com
Fri Jul 20 18:31:57 UTC 2018


Please review the following webrev that archives the system module boot 
layer Configuration (including all java objects reachable from the 
Configuration) in CDS archive. This is built on top of the earlier 
change for JDK-8202035 
(https://bugs.openjdk.java.net/browse/JDK-8202035), which provides a 
framework for object sub-graph archiving.

The boot layer Configuration is created in ModuleBootstrap.boot() 
(similar to the archived system ModuleDescriptor objects, etc) and is 
unchanged after construction. With archived boot layer Configuration, it 
allows runtime to bypass the work for creating the configuration. 
Currently, this is only supported when the initial module is unnamed 
module. Measurements indicate archiving the boot layer Configuration 
improves the startup time by 1% ~ 1.5% (on linux-x64) when running 
HelloWorld from -cp at runtime.

Many thanks to Alan and Claes for discussions and contributions to this 
change!

Webrev: http://cr.openjdk.java.net/~jiangli/8207263/webrev.00/

RFE: https://bugs.openjdk.java.net/browse/JDK-8207263

Tested with tier1 - tier5 tests via mach5.

Thanks,

Jiangli



More information about the core-libs-dev mailing list