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

Reply via email to