Merge
authorehelin
Fri, 27 Nov 2015 12:07:01 +0100
changeset 34315 01fb7c07ac61
parent 34312 b687b05475c6 (current diff)
parent 34314 413a4bee8103 (diff)
child 34316 4d876653d940
Merge
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp	Fri Nov 27 10:37:44 2015 +0100
+++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp	Fri Nov 27 12:07:01 2015 +0100
@@ -5121,11 +5121,10 @@
   hot_card_cache->reset_hot_cache_claimed_index();
   hot_card_cache->set_use_cache(false);
 
+  g1_rem_set()->prepare_for_oops_into_collection_set_do();
 }
 
 void G1CollectedHeap::evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
-  g1_rem_set()->prepare_for_oops_into_collection_set_do();
-
   // Should G1EvacuationFailureALot be in effect for this GC?
   NOT_PRODUCT(set_evacuation_failure_alot_for_current_gc();)
 
@@ -5165,7 +5164,9 @@
   double code_root_fixup_time_ms =
         (os::elapsedTime() - end_par_time_sec) * 1000.0;
   phase_times->record_code_root_fixup_time(code_root_fixup_time_ms);
-
+}
+
+void G1CollectedHeap::post_evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
   // Process any discovered reference objects - we have
   // to do this _before_ we retire the GC alloc regions
   // as we may have to copy some 'reachable' referent
@@ -5183,10 +5184,10 @@
 
     G1STWIsAliveClosure is_alive(this);
     G1KeepAliveClosure keep_alive(this);
-    G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive, true, phase_times);
+    G1StringDedup::unlink_or_oops_do(&is_alive, &keep_alive, true, g1_policy()->phase_times());
 
     double fixup_time_ms = (os::elapsedTime() - fixup_start) * 1000.0;
-    phase_times->record_string_dedup_fixup_time(fixup_time_ms);
+    g1_policy()->phase_times()->record_string_dedup_fixup_time(fixup_time_ms);
   }
 
   g1_rem_set()->cleanup_after_oops_into_collection_set_do();
@@ -5212,9 +5213,7 @@
   } else {
     g1_policy()->phase_times()->record_ref_enq_time(0);
   }
-}
-
-void G1CollectedHeap::post_evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
+
   _allocator->release_gc_alloc_regions(evacuation_info);
 
   per_thread_states->flush();