Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8343493

Perform module checks during MetaspaceShared::map_archives()

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • None
    • hotspot
    • b24

      Currently, Modules::serialize() and Modules::serialize_addmods_names() store/retrieve the main module name, as well as the set of modules specified by --add-modules. These functions are called from MetaspaceShared::serialize(), *after* the JVM has decided to use the CDS archive.

      However, with JEP 483 (JDK-8315737), we need the module information *before* deciding whether to use the CDS archive. For example, if -XX:+AOTClassLinking is specified during the CDS archive creation, the archive cannot be used if we specified an incompatible main module at runtime.

      This RFE added a new function, MetaspaceShared::early_serialize(), which is called from MetaspaceShared::map_archives(). Modules::serialize() and Modules::serialize_addmods_names() are called within this context so that we can use the module information to decide whether to use the CDS archive or not.

            iklam Ioi Lam
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: