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

Remove runtime code not needed with CMS removed

    XMLWordPrintable

Details

    • Enhancement
    • Status: Resolved
    • P3
    • Resolution: Fixed
    • 14, 16
    • 16
    • hotspot
    • None
    • gc
    • b20

    Description

      in classLoaderData.hpp, these (and associated code) were added for CMS:

        // Remembered sets support for the oops in the class loader data.
        bool _modified_oops; // Card Table Equivalent (YC/CMS support) (might be used for ParallelGC tho)
        bool _accumulated_modified_oops; // Mod Union Equivalent (CMS support)

      in classLoaderDataGraph.hpp, these are for CMS:

        // CMS support.
        static ClassLoaderData* _saved_head;
        static ClassLoaderData* _saved_unloading;
        static bool _should_purge;

      in safepoint.cpp, this is for CMS. I don't think any other GCs delay purging ClassLoaderData until the next safepoint:

          if (_subtasks.try_claim_task(SafepointSynchronize::SAFEPOINT_CLEANUP_CLD_PURGE)) {
            if (ClassLoaderDataGraph::should_purge_and_reset()) {
              // CMS delays purging the CLDG until the beginning of the next safepoint and to
              // make sure concurrent sweep is done
              const char* name = "purging class loader data graph";
              EventSafepointCleanupTask event;
              TraceTime timer(name, TRACETIME_LOG(Info, safepoint, cleanup));
              ClassLoaderDataGraph::purge();

              post_safepoint_cleanup_task_event(event, safepoint_id, name);
            }
          }

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: