--- old/src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java 2020-08-12 15:01:25.405604143 -0700 +++ new/src/java.base/share/classes/jdk/internal/module/ArchivedModuleGraph.java 2020-08-12 15:01:24.613574329 -0700 @@ -22,21 +22,20 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ - package jdk.internal.module; -import java.lang.module.Configuration; -import java.lang.module.ModuleFinder; import java.util.Map; import java.util.Set; import java.util.function.Function; - +import java.lang.module.Configuration; +import java.lang.module.ModuleFinder; import jdk.internal.misc.VM; /** - * Used by ModuleBootstrap to obtain the archived system modules and finder. + * Used by ModuleBootstrap for archiving the configuration for the boot layer, + * the system module finder, and the maps used to create the IllegalAccessLogger. */ -final class ArchivedModuleGraph { +class ArchivedModuleGraph { private static ArchivedModuleGraph archivedModuleGraph; private final boolean hasSplitPackages; @@ -47,13 +46,13 @@ private final Map> concealedPackagesToOpen; private final Map> exportedPackagesToOpen; - public ArchivedModuleGraph(boolean hasSplitPackages, - boolean hasIncubatorModules, - ModuleFinder finder, - Configuration configuration, - Function classLoaderFunction, - Map> concealedPackagesToOpen, - Map> exportedPackagesToOpen) { + private ArchivedModuleGraph(boolean hasSplitPackages, + boolean hasIncubatorModules, + ModuleFinder finder, + Configuration configuration, + Function classLoaderFunction, + Map> concealedPackagesToOpen, + Map> exportedPackagesToOpen) { this.hasSplitPackages = hasSplitPackages; this.hasIncubatorModules = hasIncubatorModules; this.finder = finder; @@ -107,8 +106,20 @@ /** * Archive the module graph for the given initial module. */ - static void archive(ArchivedModuleGraph graph) { - archivedModuleGraph = graph; + static void archive(boolean hasSplitPackages, + boolean hasIncubatorModules, + ModuleFinder finder, + Configuration configuration, + Function classLoaderFunction, + Map> concealedPackagesToOpen, + Map> exportedPackagesToOpen) { + archivedModuleGraph = new ArchivedModuleGraph(hasSplitPackages, + hasIncubatorModules, + finder, + configuration, + classLoaderFunction, + concealedPackagesToOpen, + exportedPackagesToOpen); } static {