comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp @ 3823:14a2fd14c0db

7068240: G1: Long "parallel other time" and "ext root scanning" when running specific benchmark Summary: In root processing, move the scanning of the reference processor's discovered lists to before RSet updating and scanning. When scanning the reference processor's discovered lists, use a buffering closure so that the time spent copying any reference object is correctly attributed. Also removed a couple of unused and irrelevant timers. Reviewed-by: ysr, jmasa
author johnc
date Mon, 01 Aug 2011 10:04:28 -0700
parents 053d84a76d3d
children f44782f04dd4
comparison
equal deleted inserted replaced
3821:8107273fd204 3823:14a2fd14c0db
127 double _cur_clear_cc_time_ms; // clearing time during current pause 127 double _cur_clear_cc_time_ms; // clearing time during current pause
128 double _cum_clear_cc_time_ms; // cummulative clearing time 128 double _cum_clear_cc_time_ms; // cummulative clearing time
129 jlong _num_cc_clears; // number of times the card count cache has been cleared 129 jlong _num_cc_clears; // number of times the card count cache has been cleared
130 #endif 130 #endif
131 131
132 double _cur_CH_strong_roots_end_sec;
133 double _cur_CH_strong_roots_dur_ms;
134 double _cur_G1_strong_roots_end_sec;
135 double _cur_G1_strong_roots_dur_ms;
136
137 // Statistics for recent GC pauses. See below for how indexed. 132 // Statistics for recent GC pauses. See below for how indexed.
138 TruncatedSeq* _recent_CH_strong_roots_times_ms; 133 TruncatedSeq* _recent_rs_scan_times_ms;
139 TruncatedSeq* _recent_G1_strong_roots_times_ms; 134
140 TruncatedSeq* _recent_evac_times_ms;
141 // These exclude marking times. 135 // These exclude marking times.
142 TruncatedSeq* _recent_pause_times_ms; 136 TruncatedSeq* _recent_pause_times_ms;
143 TruncatedSeq* _recent_gc_times_ms; 137 TruncatedSeq* _recent_gc_times_ms;
144 138
145 TruncatedSeq* _recent_CS_bytes_used_before; 139 TruncatedSeq* _recent_CS_bytes_used_before;
690 G1CollectedHeap* _g1; 684 G1CollectedHeap* _g1;
691 685
692 // The average time in ms per collection pause, averaged over recent pauses. 686 // The average time in ms per collection pause, averaged over recent pauses.
693 double recent_avg_time_for_pauses_ms(); 687 double recent_avg_time_for_pauses_ms();
694 688
695 // The average time in ms for processing CollectedHeap strong roots, per 689 // The average time in ms for RS scanning, per pause, averaged
696 // collection pause, averaged over recent pauses. 690 // over recent pauses. (Note the RS scanning time for a pause
697 double recent_avg_time_for_CH_strong_ms(); 691 // is itself an average of the RS scanning time for each worker
698 692 // thread.)
699 // The average time in ms for processing the G1 remembered set, per 693 double recent_avg_time_for_rs_scan_ms();
700 // pause, averaged over recent pauses.
701 double recent_avg_time_for_G1_strong_ms();
702
703 // The average time in ms for "evacuating followers", per pause, averaged
704 // over recent pauses.
705 double recent_avg_time_for_evac_ms();
706 694
707 // The number of "recent" GCs recorded in the number sequences 695 // The number of "recent" GCs recorded in the number sequences
708 int number_of_recent_gcs(); 696 int number_of_recent_gcs();
709 697
710 // The average survival ratio, computed by the total number of bytes 698 // The average survival ratio, computed by the total number of bytes
884 size_t max_live_bytes); 872 size_t max_live_bytes);
885 virtual void record_concurrent_mark_cleanup_completed(); 873 virtual void record_concurrent_mark_cleanup_completed();
886 874
887 virtual void record_concurrent_pause(); 875 virtual void record_concurrent_pause();
888 virtual void record_concurrent_pause_end(); 876 virtual void record_concurrent_pause_end();
889
890 virtual void record_collection_pause_end_CH_strong_roots();
891 virtual void record_collection_pause_end_G1_strong_roots();
892 877
893 virtual void record_collection_pause_end(); 878 virtual void record_collection_pause_end();
894 void print_heap_transition(); 879 void print_heap_transition();
895 880
896 // Record the fact that a full collection occurred. 881 // Record the fact that a full collection occurred.