hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp
changeset 46353 1df99120f158
parent 46348 5803de68c14d
child 46384 dacebddcdea0
equal deleted inserted replaced
46352:4ece6d1f3f76 46353:1df99120f158
  4427   _hot_card_cache->reset_hot_cache_claimed_index();
  4427   _hot_card_cache->reset_hot_cache_claimed_index();
  4428   _hot_card_cache->set_use_cache(false);
  4428   _hot_card_cache->set_use_cache(false);
  4429 
  4429 
  4430   g1_rem_set()->prepare_for_oops_into_collection_set_do();
  4430   g1_rem_set()->prepare_for_oops_into_collection_set_do();
  4431   _preserved_marks_set.assert_empty();
  4431   _preserved_marks_set.assert_empty();
       
  4432 
       
  4433   G1GCPhaseTimes* phase_times = g1_policy()->phase_times();
       
  4434 
       
  4435   // InitialMark needs claim bits to keep track of the marked-through CLDs.
       
  4436   if (collector_state()->during_initial_mark_pause()) {
       
  4437     double start_clear_claimed_marks = os::elapsedTime();
       
  4438 
       
  4439     ClassLoaderDataGraph::clear_claimed_marks();
       
  4440 
       
  4441     double recorded_clear_claimed_marks_time_ms = (os::elapsedTime() - start_clear_claimed_marks) * 1000.0;
       
  4442     phase_times->record_clear_claimed_marks_time_ms(recorded_clear_claimed_marks_time_ms);
       
  4443   }
  4432 }
  4444 }
  4433 
  4445 
  4434 void G1CollectedHeap::evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
  4446 void G1CollectedHeap::evacuate_collection_set(EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* per_thread_states) {
  4435   // Should G1EvacuationFailureALot be in effect for this GC?
  4447   // Should G1EvacuationFailureALot be in effect for this GC?
  4436   NOT_PRODUCT(set_evacuation_failure_alot_for_current_gc();)
  4448   NOT_PRODUCT(set_evacuation_failure_alot_for_current_gc();)
  4437 
  4449 
  4438   assert(dirty_card_queue_set().completed_buffers_num() == 0, "Should be empty");
  4450   assert(dirty_card_queue_set().completed_buffers_num() == 0, "Should be empty");
  4439 
  4451 
  4440   G1GCPhaseTimes* phase_times = g1_policy()->phase_times();
  4452   G1GCPhaseTimes* phase_times = g1_policy()->phase_times();
  4441 
       
  4442   // InitialMark needs claim bits to keep track of the marked-through CLDs.
       
  4443   if (collector_state()->during_initial_mark_pause()) {
       
  4444     double start_clear_claimed_marks = os::elapsedTime();
       
  4445 
       
  4446     ClassLoaderDataGraph::clear_claimed_marks();
       
  4447 
       
  4448     double recorded_clear_claimed_marks_time_ms = (os::elapsedTime() - start_clear_claimed_marks) * 1000.0;
       
  4449     phase_times->record_clear_claimed_marks_time_ms(recorded_clear_claimed_marks_time_ms);
       
  4450   }
       
  4451 
  4453 
  4452   double start_par_time_sec = os::elapsedTime();
  4454   double start_par_time_sec = os::elapsedTime();
  4453   double end_par_time_sec;
  4455   double end_par_time_sec;
  4454 
  4456 
  4455   {
  4457   {