503 504 print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads); 505 for (int i = 0; i <= GCMainParPhasesLast; i++) { 506 par_phase_printer.print((GCParPhases) i); 507 } 508 509 print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); 510 print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); 511 if (G1StringDedup::is_enabled()) { 512 print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); 513 for (int i = StringDedupPhasesFirst; i <= StringDedupPhasesLast; i++) { 514 par_phase_printer.print((GCParPhases) i); 515 } 516 } 517 print_stats(1, "Clear CT", _cur_clear_ct_time_ms); 518 double misc_time_ms = pause_time_sec * MILLIUNITS - accounted_time_ms(); 519 print_stats(1, "Other", misc_time_ms); 520 if (_cur_verify_before_time_ms > 0.0) { 521 print_stats(2, "Verify Before", _cur_verify_before_time_ms); 522 } 523 if (G1CollectedHeap::heap()->evacuation_failed()) { 524 double evac_fail_handling = _cur_evac_fail_recalc_used + _cur_evac_fail_remove_self_forwards + 525 _cur_evac_fail_restore_remsets; 526 print_stats(2, "Evacuation Failure", evac_fail_handling); 527 if (G1Log::finest()) { 528 print_stats(3, "Recalculate Used", _cur_evac_fail_recalc_used); 529 print_stats(3, "Remove Self Forwards", _cur_evac_fail_remove_self_forwards); 530 print_stats(3, "Restore RemSet", _cur_evac_fail_restore_remsets); 531 } 532 } 533 print_stats(2, "Choose CSet", 534 (_recorded_young_cset_choice_time_ms + 535 _recorded_non_young_cset_choice_time_ms)); 536 print_stats(2, "Ref Proc", _cur_ref_proc_time_ms); 537 print_stats(2, "Ref Enq", _cur_ref_enq_time_ms); 538 print_stats(2, "Redirty Cards", _recorded_redirty_logged_cards_time_ms); 539 par_phase_printer.print(RedirtyCards); 540 if (G1EagerReclaimHumongousObjects) { 541 print_stats(2, "Humongous Register", _cur_fast_reclaim_humongous_register_time_ms); 542 if (G1Log::finest()) { | 503 504 print_stats(1, "Parallel Time", _cur_collection_par_time_ms, _active_gc_threads); 505 for (int i = 0; i <= GCMainParPhasesLast; i++) { 506 par_phase_printer.print((GCParPhases) i); 507 } 508 509 print_stats(1, "Code Root Fixup", _cur_collection_code_root_fixup_time_ms); 510 print_stats(1, "Code Root Purge", _cur_strong_code_root_purge_time_ms); 511 if (G1StringDedup::is_enabled()) { 512 print_stats(1, "String Dedup Fixup", _cur_string_dedup_fixup_time_ms, _active_gc_threads); 513 for (int i = StringDedupPhasesFirst; i <= StringDedupPhasesLast; i++) { 514 par_phase_printer.print((GCParPhases) i); 515 } 516 } 517 print_stats(1, "Clear CT", _cur_clear_ct_time_ms); 518 double misc_time_ms = pause_time_sec * MILLIUNITS - accounted_time_ms(); 519 print_stats(1, "Other", misc_time_ms); 520 if (_cur_verify_before_time_ms > 0.0) { 521 print_stats(2, "Verify Before", _cur_verify_before_time_ms); 522 } 523 if (_cur_expand_heap_time_ms > 0.0) { 524 print_stats(2, "Expand Heap", _cur_expand_heap_time_ms); 525 } 526 if (G1CollectedHeap::heap()->evacuation_failed()) { 527 double evac_fail_handling = _cur_evac_fail_recalc_used + _cur_evac_fail_remove_self_forwards + 528 _cur_evac_fail_restore_remsets; 529 print_stats(2, "Evacuation Failure", evac_fail_handling); 530 if (G1Log::finest()) { 531 print_stats(3, "Recalculate Used", _cur_evac_fail_recalc_used); 532 print_stats(3, "Remove Self Forwards", _cur_evac_fail_remove_self_forwards); 533 print_stats(3, "Restore RemSet", _cur_evac_fail_restore_remsets); 534 } 535 } 536 print_stats(2, "Choose CSet", 537 (_recorded_young_cset_choice_time_ms + 538 _recorded_non_young_cset_choice_time_ms)); 539 print_stats(2, "Ref Proc", _cur_ref_proc_time_ms); 540 print_stats(2, "Ref Enq", _cur_ref_enq_time_ms); 541 print_stats(2, "Redirty Cards", _recorded_redirty_logged_cards_time_ms); 542 par_phase_printer.print(RedirtyCards); 543 if (G1EagerReclaimHumongousObjects) { 544 print_stats(2, "Humongous Register", _cur_fast_reclaim_humongous_register_time_ms); 545 if (G1Log::finest()) { |