comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp @ 1611:215576b54709

6946048: G1: improvements to +PrintGCDetails output Summary: Small improvements to G1's PrintGCDetails output. It also includes minor formatting details. Reviewed-by: ysr, johnc
author tonyp
date Thu, 22 Apr 2010 15:20:16 -0400
parents c18cbe5936b8
children 4e5661ba9d98
comparison
equal deleted inserted replaced
1610:79107c3a6bd5 1611:215576b54709
169 NumberSeq* _all_aux_times_ms; 169 NumberSeq* _all_aux_times_ms;
170 double* _cur_aux_start_times_ms; 170 double* _cur_aux_start_times_ms;
171 double* _cur_aux_times_ms; 171 double* _cur_aux_times_ms;
172 bool* _cur_aux_times_set; 172 bool* _cur_aux_times_set;
173 173
174 double* _par_last_gc_worker_start_times_ms;
174 double* _par_last_ext_root_scan_times_ms; 175 double* _par_last_ext_root_scan_times_ms;
175 double* _par_last_mark_stack_scan_times_ms; 176 double* _par_last_mark_stack_scan_times_ms;
176 double* _par_last_update_rs_start_times_ms;
177 double* _par_last_update_rs_times_ms; 177 double* _par_last_update_rs_times_ms;
178 double* _par_last_update_rs_processed_buffers; 178 double* _par_last_update_rs_processed_buffers;
179 double* _par_last_scan_rs_start_times_ms;
180 double* _par_last_scan_rs_times_ms; 179 double* _par_last_scan_rs_times_ms;
181 double* _par_last_scan_new_refs_times_ms; 180 double* _par_last_scan_new_refs_times_ms;
182 double* _par_last_obj_copy_times_ms; 181 double* _par_last_obj_copy_times_ms;
183 double* _par_last_termination_times_ms; 182 double* _par_last_termination_times_ms;
183 double* _par_last_termination_attempts;
184 double* _par_last_gc_worker_end_times_ms;
184 185
185 // indicates that we are in young GC mode 186 // indicates that we are in young GC mode
186 bool _in_young_gc_mode; 187 bool _in_young_gc_mode;
187 188
188 // indicates whether we are in full young or partially young GC mode 189 // indicates whether we are in full young or partially young GC mode
557 double accum_yg_surv_rate_pred(int age) { 558 double accum_yg_surv_rate_pred(int age) {
558 return _short_lived_surv_rate_group->accum_surv_rate_pred(age); 559 return _short_lived_surv_rate_group->accum_surv_rate_pred(age);
559 } 560 }
560 561
561 protected: 562 protected:
562 void print_stats (int level, const char* str, double value); 563 void print_stats(int level, const char* str, double value);
563 void print_stats (int level, const char* str, int value); 564 void print_stats(int level, const char* str, int value);
564 void print_par_stats (int level, const char* str, double* data) { 565
566 void print_par_stats(int level, const char* str, double* data) {
565 print_par_stats(level, str, data, true); 567 print_par_stats(level, str, data, true);
566 } 568 }
567 void print_par_stats (int level, const char* str, double* data, bool summary); 569 void print_par_stats(int level, const char* str, double* data, bool summary);
568 void print_par_buffers (int level, const char* str, double* data, bool summary); 570 void print_par_sizes(int level, const char* str, double* data, bool summary);
569 571
570 void check_other_times(int level, 572 void check_other_times(int level,
571 NumberSeq* other_times_ms, 573 NumberSeq* other_times_ms,
572 NumberSeq* calc_other_times_ms) const; 574 NumberSeq* calc_other_times_ms) const;
573 575
889 891
890 // Record the fact that a full collection occurred. 892 // Record the fact that a full collection occurred.
891 virtual void record_full_collection_start(); 893 virtual void record_full_collection_start();
892 virtual void record_full_collection_end(); 894 virtual void record_full_collection_end();
893 895
896 void record_gc_worker_start_time(int worker_i, double ms) {
897 _par_last_gc_worker_start_times_ms[worker_i] = ms;
898 }
899
894 void record_ext_root_scan_time(int worker_i, double ms) { 900 void record_ext_root_scan_time(int worker_i, double ms) {
895 _par_last_ext_root_scan_times_ms[worker_i] = ms; 901 _par_last_ext_root_scan_times_ms[worker_i] = ms;
896 } 902 }
897 903
898 void record_mark_stack_scan_time(int worker_i, double ms) { 904 void record_mark_stack_scan_time(int worker_i, double ms) {
910 916
911 void record_mod_union_time(double ms) { 917 void record_mod_union_time(double ms) {
912 _all_mod_union_times_ms->add(ms); 918 _all_mod_union_times_ms->add(ms);
913 } 919 }
914 920
915 void record_update_rs_start_time(int thread, double ms) {
916 _par_last_update_rs_start_times_ms[thread] = ms;
917 }
918
919 void record_update_rs_time(int thread, double ms) { 921 void record_update_rs_time(int thread, double ms) {
920 _par_last_update_rs_times_ms[thread] = ms; 922 _par_last_update_rs_times_ms[thread] = ms;
921 } 923 }
922 924
923 void record_update_rs_processed_buffers (int thread, 925 void record_update_rs_processed_buffers (int thread,
924 double processed_buffers) { 926 double processed_buffers) {
925 _par_last_update_rs_processed_buffers[thread] = processed_buffers; 927 _par_last_update_rs_processed_buffers[thread] = processed_buffers;
926 } 928 }
927 929
928 void record_scan_rs_start_time(int thread, double ms) {
929 _par_last_scan_rs_start_times_ms[thread] = ms;
930 }
931
932 void record_scan_rs_time(int thread, double ms) { 930 void record_scan_rs_time(int thread, double ms) {
933 _par_last_scan_rs_times_ms[thread] = ms; 931 _par_last_scan_rs_times_ms[thread] = ms;
934 } 932 }
935 933
936 void record_scan_new_refs_time(int thread, double ms) { 934 void record_scan_new_refs_time(int thread, double ms) {
951 949
952 void record_obj_copy_time(int thread, double ms) { 950 void record_obj_copy_time(int thread, double ms) {
953 _par_last_obj_copy_times_ms[thread] += ms; 951 _par_last_obj_copy_times_ms[thread] += ms;
954 } 952 }
955 953
956 void record_obj_copy_time(double ms) { 954 void record_termination(int thread, double ms, size_t attempts) {
957 record_obj_copy_time(0, ms);
958 }
959
960 void record_termination_time(int thread, double ms) {
961 _par_last_termination_times_ms[thread] = ms; 955 _par_last_termination_times_ms[thread] = ms;
962 } 956 _par_last_termination_attempts[thread] = (double) attempts;
963 957 }
964 void record_termination_time(double ms) { 958
965 record_termination_time(0, ms); 959 void record_gc_worker_end_time(int worker_i, double ms) {
960 _par_last_gc_worker_end_times_ms[worker_i] = ms;
966 } 961 }
967 962
968 void record_pause_time_ms(double ms) { 963 void record_pause_time_ms(double ms) {
969 _last_pause_time_ms = ms; 964 _last_pause_time_ms = ms;
970 } 965 }