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 { |