Mercurial > hg > graal-compiler
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. |