RFR: 8316969: Improve CDS module graph support for --module option
Calvin Cheung
ccheung at openjdk.org
Tue Oct 17 22:51:49 UTC 2023
On Fri, 6 Oct 2023 06:09:50 GMT, Alan Bateman <alanb at openjdk.org> wrote:
>> 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:"`?
>
>> Maybe we can add a new native method `jdk.internal.misc.CDS.isBuiltinModule(Module m)` which tests if `ModuleEntry::_location` starts with `"jrt:"`?
>
> There isn't any really notion of "built-in module", they may be modules in the run-time image that start with names such than "java." or "jdk.". Are you just looking to know if the module is in the run-time image and hasn't been upgraded?
I've found a way to determine if a module is from the runtime image by checking the module's `location` and the `scheme` of the `location` is "jrt". All done at the java level. Please refer to my latest push with update on the ModuleBootstrap.java.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16016#discussion_r1362892360
More information about the core-libs-dev
mailing list