396 _recorded_non_young_cset_choice_time_ms));
397 print_stats(Indents[2], "Preserve CM Refs", _recorded_preserve_cm_referents_time_ms);
398 print_stats(Indents[2], "Ref Proc", _cur_ref_proc_time_ms);
399 print_stats(Indents[2], "Ref Enq", _cur_ref_enq_time_ms);
400 print_stats(Indents[2], "Redirty Cards", _recorded_redirty_logged_cards_time_ms);
401 par_phase_printer.print(RedirtyCards);
402 par_phase_printer.print(PreserveCMReferents);
403 if (G1EagerReclaimHumongousObjects) {
404 print_stats(Indents[2], "Humongous Register", _cur_fast_reclaim_humongous_register_time_ms);
405
406 log_trace(gc, phases)("%sHumongous Total: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_total);
407 log_trace(gc, phases)("%sHumongous Candidate: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_candidates);
408 print_stats(Indents[2], "Humongous Reclaim", _cur_fast_reclaim_humongous_time_ms);
409 log_trace(gc, phases)("%sHumongous Reclaimed: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_reclaimed);
410 }
411 print_stats(Indents[2], "Free CSet",
412 (_recorded_young_free_cset_time_ms +
413 _recorded_non_young_free_cset_time_ms));
414 log_trace(gc, phases)("%sYoung Free CSet: %.1lf ms", Indents[3], _recorded_young_free_cset_time_ms);
415 log_trace(gc, phases)("%sNon-Young Free CSet: %.1lf ms", Indents[3], _recorded_non_young_free_cset_time_ms);
416 if (_cur_verify_after_time_ms > 0.0) {
417 print_stats(Indents[2], "Verify After", _cur_verify_after_time_ms);
418 }
419 }
420
421 G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id) :
422 _phase_times(phase_times), _phase(phase), _worker_id(worker_id) {
423 if (_phase_times != NULL) {
424 _start_time = os::elapsedTime();
425 }
426 }
427
428 G1GCParPhaseTimesTracker::~G1GCParPhaseTimesTracker() {
429 if (_phase_times != NULL) {
430 _phase_times->record_time_secs(_phase, _worker_id, os::elapsedTime() - _start_time);
431 }
432 }
433
|
396 _recorded_non_young_cset_choice_time_ms));
397 print_stats(Indents[2], "Preserve CM Refs", _recorded_preserve_cm_referents_time_ms);
398 print_stats(Indents[2], "Ref Proc", _cur_ref_proc_time_ms);
399 print_stats(Indents[2], "Ref Enq", _cur_ref_enq_time_ms);
400 print_stats(Indents[2], "Redirty Cards", _recorded_redirty_logged_cards_time_ms);
401 par_phase_printer.print(RedirtyCards);
402 par_phase_printer.print(PreserveCMReferents);
403 if (G1EagerReclaimHumongousObjects) {
404 print_stats(Indents[2], "Humongous Register", _cur_fast_reclaim_humongous_register_time_ms);
405
406 log_trace(gc, phases)("%sHumongous Total: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_total);
407 log_trace(gc, phases)("%sHumongous Candidate: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_candidates);
408 print_stats(Indents[2], "Humongous Reclaim", _cur_fast_reclaim_humongous_time_ms);
409 log_trace(gc, phases)("%sHumongous Reclaimed: " SIZE_FORMAT, Indents[3], _cur_fast_reclaim_humongous_reclaimed);
410 }
411 print_stats(Indents[2], "Free CSet",
412 (_recorded_young_free_cset_time_ms +
413 _recorded_non_young_free_cset_time_ms));
414 log_trace(gc, phases)("%sYoung Free CSet: %.1lf ms", Indents[3], _recorded_young_free_cset_time_ms);
415 log_trace(gc, phases)("%sNon-Young Free CSet: %.1lf ms", Indents[3], _recorded_non_young_free_cset_time_ms);
416 print_stats(Indents[2], "Merge Per-Thread State", _recorded_merge_pss_time_ms);
417 if (_cur_verify_after_time_ms > 0.0) {
418 print_stats(Indents[2], "Verify After", _cur_verify_after_time_ms);
419 }
420 }
421
422 G1GCParPhaseTimesTracker::G1GCParPhaseTimesTracker(G1GCPhaseTimes* phase_times, G1GCPhaseTimes::GCParPhases phase, uint worker_id) :
423 _phase_times(phase_times), _phase(phase), _worker_id(worker_id) {
424 if (_phase_times != NULL) {
425 _start_time = os::elapsedTime();
426 }
427 }
428
429 G1GCParPhaseTimesTracker::~G1GCParPhaseTimesTracker() {
430 if (_phase_times != NULL) {
431 _phase_times->record_time_secs(_phase, _worker_id, os::elapsedTime() - _start_time);
432 }
433 }
434
|