On Wed, 2 Jul 2025 00:18:28 GMT, Ioi Lam <ik...@openjdk.org> wrote:

> The CDS full module graph is supposed to contain a snapshot of the boot 
> layer, which has 3 unnamed modules for the boot, platform and system class 
> loaders. Each unnamed module is represented by a `java.lang.Module` Java 
> object and a `ModuleEntry` C++ object.
> 
> Currently, we archive only the `java.lang.Module` for the platform and system 
> loaders. The other 4 objects are dynamically created in the production run 
> while executing Java bytecodes during VM bootstrap.
> 
> With this PR, we archive all of the above 6 objects when 
> `CDSConfig::is_dumping_full_module_graph()` is true.
> 
> This is required for 
> [JDK-8350550](https://bugs.openjdk.org/browse/JDK-8350550), as we need the 
> `java.lang.Module` object for archived classes in the unnamed module of the 
> boot loader prior to executing any Java code.
> 
> We also archive the `ModuleEntry` objects for the 3 unnamed modules for 
> uniformity, as these objects are already archived for named modules.

The code looks good.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26082#pullrequestreview-3039130102

Reply via email to