On Tue, 22 Jul 2025 16:27:18 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.
>
> Ioi Lam has updated the pull request with a new target base due to a merge or 
> a rebase. The pull request now contains two commits:
> 
>  - Merge branch 'master' into 8360555-archive-all-unnamed-modules
>  - 8360555: Archive all unnamed modules in CDS full module graph

Marked as reviewed by coleenp (Reviewer).

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

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

Reply via email to