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.
This pull request has now been integrated. Changeset: aae99022 Author: Ioi Lam <ik...@openjdk.org> URL: https://git.openjdk.org/jdk/commit/aae9902234d36049ec99a2f50934c526dd6235eb Stats: 187 lines in 13 files changed: 140 ins; 17 del; 30 mod 8360555: Archive all unnamed modules in CDS full module graph Reviewed-by: coleenp, vlivanov ------------- PR: https://git.openjdk.org/jdk/pull/26082