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

Save mirror in interpreter frame to enable cleanups of CLDClosure

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b120

      Description


      The CLDClosure was created to walk the Method's ClassLoaderData in the interpreter frame so that the Method metadata is not reclaimed if no other references to the Method's class loader are alive. The design for permgen elimination was that the class holder (class_loader or mirror) oop is stored with any metadata references so that the GC can simply follow oops in the normal way and not follow metadata. This was an exception to the design.

      This is the alternate fix to bug JDK-8003720 to save the mirror in the frame where the Method* is saved. GC walks the mirror in the frame, keeping Method* alive. This change enables other cleanups envisioned for the special CLDClosure.

        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

                Due:
                Created:
                Updated:
                Resolved: