558 print_stats(3, "Humongous Total", _cur_fast_reclaim_humongous_total); 559 print_stats(3, "Humongous Candidate", _cur_fast_reclaim_humongous_candidates); 560 } 561 print_stats(2, "Humongous Reclaim", _cur_fast_reclaim_humongous_time_ms); 562 if (G1Log::finest()) { 563 print_stats(3, "Humongous Reclaimed", _cur_fast_reclaim_humongous_reclaimed); 564 } 565 } 566 print_stats(2, "Free CSet", 567 (_recorded_young_free_cset_time_ms + 568 _recorded_non_young_free_cset_time_ms)); 569 if (G1Log::finest()) { 570 print_stats(3, "Young Free CSet", _recorded_young_free_cset_time_ms); 571 print_stats(3, "Non-Young Free CSet", _recorded_non_young_free_cset_time_ms); 572 } 573 if (_cur_verify_after_time_ms > 0.0) { 574 print_stats(2, "Verify After", _cur_verify_after_time_ms); 575 } 576 } 577 578 G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id) : 579 _phase_times(phase_times), _phase(phase), _worker_id(worker_id) { 580 if (_phase_times != NULL) { 581 _start_time = os::elapsedTime(); 582 } 583 } 584 585 G1GCParPhaseTimesTracker::~G1GCParPhaseTimesTracker() { 586 if (_phase_times != NULL) { 587 _phase_times->record_time_secs(_phase, _worker_id, os::elapsedTime() - _start_time); 588 } 589 } 590 | 558 print_stats(3, "Humongous Total", _cur_fast_reclaim_humongous_total); 559 print_stats(3, "Humongous Candidate", _cur_fast_reclaim_humongous_candidates); 560 } 561 print_stats(2, "Humongous Reclaim", _cur_fast_reclaim_humongous_time_ms); 562 if (G1Log::finest()) { 563 print_stats(3, "Humongous Reclaimed", _cur_fast_reclaim_humongous_reclaimed); 564 } 565 } 566 print_stats(2, "Free CSet", 567 (_recorded_young_free_cset_time_ms + 568 _recorded_non_young_free_cset_time_ms)); 569 if (G1Log::finest()) { 570 print_stats(3, "Young Free CSet", _recorded_young_free_cset_time_ms); 571 print_stats(3, "Non-Young Free CSet", _recorded_non_young_free_cset_time_ms); 572 } 573 if (_cur_verify_after_time_ms > 0.0) { 574 print_stats(2, "Verify After", _cur_verify_after_time_ms); 575 } 576 } 577 578 G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase) : 579 _phase_times(phase_times), _phase(phase) { 580 if (_phase_times != NULL) { 581 _start_time = os::elapsedTime(); 582 WorkerThread* current_worker = Thread::current()->as_Worker_thread(); 583 _worker_id = current_worker->id(); 584 } 585 } 586 587 G1GCParPhaseTimesTracker::~G1GCParPhaseTimesTracker() { 588 if (_phase_times != NULL) { 589 _phase_times->record_time_secs(_phase, _worker_id, os::elapsedTime() - _start_time); 590 } 591 } 592 |