This subtask handles the --module option only.
If the --module option is specified during dump time, the specified module, together with the base system modules, should be dumped to the CDS archive.
For now, we only support archiving jdk's modules, modules with names starting with "java." or "jdk.".
During runtime:
- if the same module is specified, the module should be loaded from the archive.
- if a different module is specified, the archived module graph should be disabled.
- if no module is specified, it should be fine to use the archived module graph.
- if an implicit module is specified which is different from the one specified during dump time. The archived module graph should be disabled.
An implicit module is the case when the user uses a tool such as jcmd which would set the jdk.module.main property to jdk.cmd.
If no module is specified during dump time.
During runtime,
- if a module is specified, the archived module graph should be disable.
The specified module may not be the required module which is not in the default boot layer (such as the jdk.cmd for the jcmd). So the simplest way is to disable the
archived module graph so that required module will be loaded from the jdk image.
- if no module is specified, use the default archived module graph (same as before this RFE).