< prev index next >

src/share/vm/gc/g1/heapRegion.cpp

Print this page

        

@@ -165,11 +165,11 @@
   // treat all objects as being inside the unmarked area.
   zero_marked_bytes();
   init_top_at_mark_start();
 }
 
-void HeapRegion::hr_clear(bool par, bool clear_space, bool locked) {
+void HeapRegion::hr_clear(bool keep_remset, bool clear_space, bool locked) {
   assert(_humongous_start_region == NULL,
          "we should have already filtered out humongous regions");
   assert(!in_collection_set(),
          "Should not clear heap region %u in the collection set", hrm_index());
 

@@ -177,19 +177,18 @@
   set_young_index_in_cset(-1);
   uninstall_surv_rate_group();
   set_free();
   reset_pre_dummy_top();
 
-  if (!par) {
-    // If this is parallel, this will be done later.
-    HeapRegionRemSet* hrrs = rem_set();
+  if (!keep_remset) {
     if (locked) {
-      hrrs->clear_locked();
+      rem_set()->clear_locked();
     } else {
-      hrrs->clear();
+      rem_set()->clear();  
     }
   }
+
   zero_marked_bytes();
 
   init_top_at_mark_start();
   _gc_time_stamp = G1CollectedHeap::heap()->get_gc_time_stamp();
   if (clear_space) clear(SpaceDecorator::Mangle);
< prev index next >