< prev index next >

src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp

Print this page
rev 59944 : 8247819: G1: Process strong OopStorage entries in parallel
Reviewed-by:
Contributed-by: Erik ?sterlund <erik.osterlund@oracle.com>, Thomas Schatzl <thomas.schatzl@oracle.com>

@@ -23,10 +23,11 @@
  */
 
 #ifndef SHARE_GC_G1_G1GCPHASETIMES_HPP
 #define SHARE_GC_G1_G1GCPHASETIMES_HPP
 
+#include "gc/shared/oopStorageSet.hpp"
 #include "gc/shared/referenceProcessorPhaseTimes.hpp"
 #include "gc/shared/weakProcessorPhaseTimes.hpp"
 #include "logging/logLevel.hpp"
 #include "memory/allocation.hpp"
 #include "utilities/macros.hpp"

@@ -46,19 +47,20 @@
   enum GCParPhases {
     GCWorkerStart,
     ExtRootScan,
     ThreadRoots,
     UniverseRoots,
-    JNIRoots,
     ObjectSynchronizerRoots,
     ManagementRoots,
-    VMGlobalRoots,
     CLDGRoots,
     JVMTIRoots,
     AOT_ONLY(AOTCodeRoots COMMA)
     CMRefRoots,
-    MergeER,
+    // For every OopStorage there will be one element in the enum, starting with
+    // StrongOopStorageSetRoots.
+    StrongOopStorageSetRoots,
+    MergeER = StrongOopStorageSetRoots + OopStorageSet::strong_count,
     MergeRS,
     OptMergeRS,
     MergeLB,
     MergeHCC,
     ScanHR,

@@ -82,11 +84,11 @@
     MergePSS,
     GCParPhasesSentinel
   };
 
   static const GCParPhases ExtRootScanSubPhasesFirst = ThreadRoots;
-  static const GCParPhases ExtRootScanSubPhasesLast = CMRefRoots;
+  static const GCParPhases ExtRootScanSubPhasesLast = GCParPhases(MergeER - 1);
 
   enum GCMergeRSWorkTimes {
     MergeRSMergedSparse,
     MergeRSMergedFine,
     MergeRSMergedCoarse,
< prev index next >