< prev index next >

src/share/vm/gc/shared/collectedHeap.hpp

Print this page
rev 13297 : 8180932: Parallelize safepoint cleanup
Summary: Provide infrastructure to do safepoint cleanup tasks using parallel worker threads
Reviewed-by: dholmes, rehn, dcubed, thartmann
rev 13298 : 8184751: Provide thread pool for parallel safepoint cleanup

@@ -100,10 +100,12 @@
   // or INCLUDE_JVMCI is being used
   bool _defer_initial_card_mark;
 
   MemRegion _reserved;
 
+  WorkGang* _safepoint_workers;
+
  protected:
   BarrierSet* _barrier_set;
   bool _is_gc_active;
 
   // Used for filler objects (static, but initialized in ctor).

@@ -610,11 +612,11 @@
   // it for use during safepoint cleanup. This is only possible
   // if the GC can pause and resume concurrent work (e.g. G1
   // concurrent marking) for an intermittent non-GC safepoint.
   // If this method returns NULL, SafepointSynchronize will
   // perform cleanup tasks serially in the VMThread.
-  virtual WorkGang* get_safepoint_workers() { return NULL; }
+  virtual WorkGang* get_safepoint_workers() { return _safepoint_workers; }
 
   // Non product verification and debugging.
 #ifndef PRODUCT
   // Support for PromotionFailureALot.  Return true if it's time to cause a
   // promotion failure.  The no-argument version uses
< prev index next >