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

Use ClassLoaderData::classes_do for CDS classes

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 10
    • Fix Version/s: 10
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b21

      Description

      ClassDataSharing classes should be dumped using the ClassLoaderData::_classes list. Currently the code uses SystemDictionary::dictionary() which also contains classes that are initiated by different loaders than owning loaders. Practically this doesn't affect CDS, since only the boot loader is present, but it necessitates calling the SystemDictionary::classes_do() function that passed the ClassLoaderData because some loaders in the table are NULL for CDS.

      The list of loaded classes is found on the ClassLoaderData and includes array classes, anonymous classes, redefined classes, and unloaded classes. For CDS the closure filters these out.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                coleenp Coleen Phillimore
                Reporter:
                coleenp Coleen Phillimore
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: