RFR: 8316969: Improve CDS module graph support for --module option

Ioi Lam iklam at openjdk.org
Tue Oct 17 22:51:49 UTC 2023


On Wed, 4 Oct 2023 15:59:54 GMT, Calvin Cheung <ccheung at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/module/ModuleBootstrap.java line 239:
>> 
>>> 237:                        // only consider modules from JDK
>>> 238:                        (mainModule.startsWith("jdk.") || mainModule.startsWith("java."))) {
>>> 239:                     canArchive = true;
>> 
>> This will require discussion as there may be modules in the run-time image that start with other names.
>
> It would be nice if there's another way to find out if a module is from JDK.

When a named module is created, we know its location, which is also passed to the C code and stored inside the C++ `ModuleEntry` data structure.

https://github.com/openjdk/jdk/blob/a1c9587c27538bda3b0f6745d9c80ff4e1b9a77e/src/java.base/share/classes/java/lang/Module.java#L128-L150

Maybe we can add a new native method `jdk.internal.misc.CDS.isBuiltinModule(Module m)` which tests if `ModuleEntry::_location` starts with `"jrt:"`?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16016#discussion_r1347681387


More information about the hotspot-runtime-dev mailing list