JDK-8244778 : Archive full module graph in CDS
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 15
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-05-12
  • Updated: 2021-02-18
  • Resolved: 2020-09-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16 b16Fixed
Related Reports
Blocks :  
Blocks :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
If CDS dump time and runtime have the same modules settings, e.g., we have the same values for the following options between dump time and runtime:

    --module-path
    --upgrade-module-path
    --add-modules
    --limit-modules
    --add-exports
    --add-reads
    --patch-module

(or, as a simplified case, none of the above options were given in dump time or run time), we can re-use the module graph computed at dump time. I.e., the bootLayer returned by ModuleBootstrap::boot():

http://hg.openjdk.java.net/jdk/jdk/file/1cfd2ca0b769/src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java#l461

Comments
Changeset: 03a4df0a Author: Ioi Lam <iklam@openjdk.org> Date: 2020-09-13 14:45:12 +0000 URL: https://git.openjdk.java.net/jdk/commit/03a4df0a
13-09-2020

RFR thread: https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2020-July/040746.html
04-08-2020

Prototype: http://cr.openjdk.java.net/~iklam/jdk15/8244778-archive-full-module-graph.v00.8/ (perf stat -r 40 bin/java -Xint -XX:-UsePerfData -version) Before: 58,770,438 instructions 0.034780969 seconds time elapsed After: 42,203,112 instructions 0.025600953 seconds time elapsed
30-05-2020

This can be built on top of JDK-8242296 - Archive packages defined by JVM_DefineModule in CDS.
12-05-2020