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

Save mirror in interpreter frame to enable cleanups of CLDClosure

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 9
    • hotspot
    • None
    • b120


      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.

            coleenp Coleen Phillimore
            coleenp Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: