< prev index next >

src/hotspot/share/gc/g1/g1ConcurrentMark.cpp

Print this page
rev 49670 : imported patch 8178105-switch-at-remark
rev 49671 : imported patch 8178105-stefanj-review
rev 49672 : imported patch 8178105-stefanj-review2
rev 49674 : imported patch 8154528-reclaim-at-remark
rev 49675 : imported patch 8154528-stefanj-review
rev 49678 : imported patch 8200426-sangheon-review
rev 49679 : imported patch 8200730-timing-in-remark-cleanup
rev 49682 : imported patch 8201172-parallelize-remark-phase
rev 49683 : [mq]: 8201172-stefanj-review

@@ -1008,11 +1008,11 @@
 
 class G1UpdateRemSetTrackingBeforeRebuildTask : public AbstractGangTask {
   G1CollectedHeap* _g1h;
   G1ConcurrentMark* _cm;
   HeapRegionClaimer _hrclaimer;
-  uint _num_selected_for_rebuild;
+  uint _total_selected_for_rebuild;
  
   G1PrintRegionLivenessInfoClosure _cl;
 
   class G1UpdateRemSetTrackingBeforeRebuild : public HeapRegionClosure {
     G1CollectedHeap* _g1h;

@@ -1100,22 +1100,22 @@
   };
 
 public:
   G1UpdateRemSetTrackingBeforeRebuildTask(G1CollectedHeap* g1h, G1ConcurrentMark* cm, uint num_workers) :
     AbstractGangTask("G1 Update RemSet Tracking Before Rebuild"),
-    _g1h(g1h), _cm(cm), _hrclaimer(num_workers), _num_selected_for_rebuild(0), _cl("Post-Marking") { }
+    _g1h(g1h), _cm(cm), _hrclaimer(num_workers), _total_selected_for_rebuild(0), _cl("Post-Marking") { }
 
   virtual void work(uint worker_id) {
-    G1UpdateRemSetTrackingBeforeRebuild cl(_g1h, _cm, &_cl);
-    _g1h->heap_region_par_iterate_from_worker_offset(&cl, &_hrclaimer, worker_id);
-    Atomic::add(cl.num_selected_for_rebuild(), &_num_selected_for_rebuild);
+    G1UpdateRemSetTrackingBeforeRebuild update_cl(_g1h, _cm, &_cl);
+    _g1h->heap_region_par_iterate_from_worker_offset(&update_cl, &_hrclaimer, worker_id);
+    Atomic::add(update_cl.num_selected_for_rebuild(), &_total_selected_for_rebuild);
   }
 
-  uint num_selected_for_rebuild() const { return _num_selected_for_rebuild; }
+  uint total_selected_for_rebuild() const { return _total_selected_for_rebuild; }
 
   // Number of regions for which roughly one thread should be spawned for this work.
-  static const uint RegionsPerThread = 512; 
+  static const uint RegionsPerThread = 384; 
 };
 
 class G1UpdateRemSetTrackingAfterRebuild : public HeapRegionClosure {
   G1CollectedHeap* _g1h;
 public:

@@ -1178,11 +1178,11 @@
       G1UpdateRemSetTrackingBeforeRebuildTask cl(_g1h, this, num_workers);
       log_debug(gc,ergo)("Running %s using %u workers for %u regions in heap", cl.name(), num_workers, _g1h->num_regions());
       _g1h->workers()->run_task(&cl, num_workers);
 
       log_debug(gc, remset, tracking)("Remembered Set Tracking update regions total %u, selected %u",
-                                      _g1h->num_regions(), cl.num_selected_for_rebuild());
+                                      _g1h->num_regions(), cl.total_selected_for_rebuild());
     }
     {
       GCTraceTime(Debug, gc, phases) trace("Reclaim Empty Regions", _gc_timer_cm);
       reclaim_empty_regions();
     }
< prev index next >