Prior to this patch, if `--module-path` is specified in the command line: during CDS dump time, full module graph will not be included in the CDS archive; during run time, full module graph will not be used.
With this patch, the full module graph will be included in the CDS archive with the `--module-path` option. During run time, if the same `--module-path` option is specified, the archived module graph will be used. The checking of module paths between dump time and run time is more lenient compared with the checking of class paths; the ordering of the modules is unimportant, duplicate module names are ignored. E.g. the following is considered a match: dump time runtime m1,m2 m2,m1 m1,m2 m1,m2,m2 I included some [notes](https://bugs.openjdk.org/browse/JDK-8328313?focusedId=14699275&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14699275) in the bug report regarding some changes in the corelib classes. ------------- Commit messages: - 8328313: Archived module graph should allow identical --module-path to be specified during dump time and run time Changes: https://git.openjdk.org/jdk/pull/21048/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21048&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8328313 Stats: 460 lines in 17 files changed: 420 ins; 2 del; 38 mod Patch: https://git.openjdk.org/jdk/pull/21048.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/21048/head:pull/21048 PR: https://git.openjdk.org/jdk/pull/21048