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

Calvin Cheung calvin.cheung at oracle.com
Fri Aug 3 18:37:37 UTC 2018

Hi Jiangli,

The changes look good to me.

I have couple of minor comments:

1) vmSymbols.hpp

  653   template(url_void_signature,                     
"(Ljava/net/URL;)V")                                           \
  654   template(toFileURL_name,                         
"toFileURL")                                                   \
  655   template(toFileURL_signature,                    

Since you've moved the above lines to after 
“template(systemModules_signature, …”, I’d suggest rearrange the entire 
block (lines 652 - 659) in alphabetical order.

2) CheckArchivedModuleApp.java

Since it now expects two input args, I’d suggest checking the number of 
input args and throw an exception if it is not equal to two.


On 7/20/18, 11:31 AM, Jiangli Zhou wrote:
> 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 hotspot-runtime-dev mailing list