RFR: 8207263: Store the Configuration for system modules into CDS archive
ioi.lam at oracle.com
Fri Aug 3 21:58:50 UTC 2018
On 8/3/18 11:37 AM, Calvin Cheung wrote:
> 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.
I've reviewed the code. It looks like a clean change and it's great to
make further progress in start-up improvement!
Just a small note on vmSymbols.hpp: this line can be deleted because
the symbol is no longer used.
> 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.
More information about the hotspot-runtime-dev