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

Move inner metaspace cleaning out of class unloading

    Details

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

      Description

      Cleaning metadata inside metaspaces from the ClassLoaderData::_deallocate list requires a MetadataOnStackMark walk in a safepoint. This is currently done during class unloading. Move this to a safepoint cleanup phase so that class unloading does not require a safepoint (but this still does and always will).
      The metaspace cleaning is for redefinition (scratch classes and old metadata attached to scratch classes), already created metadata for classes that have failed loading, constant pools extended due to default method processing, and methods for jsr rewrites.

        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: