1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Fri May 07 13:14:41 2010 -0400 1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Thu Apr 22 15:20:16 2010 -0400 1.3 @@ -171,16 +171,17 @@ 1.4 double* _cur_aux_times_ms; 1.5 bool* _cur_aux_times_set; 1.6 1.7 + double* _par_last_gc_worker_start_times_ms; 1.8 double* _par_last_ext_root_scan_times_ms; 1.9 double* _par_last_mark_stack_scan_times_ms; 1.10 - double* _par_last_update_rs_start_times_ms; 1.11 double* _par_last_update_rs_times_ms; 1.12 double* _par_last_update_rs_processed_buffers; 1.13 - double* _par_last_scan_rs_start_times_ms; 1.14 double* _par_last_scan_rs_times_ms; 1.15 double* _par_last_scan_new_refs_times_ms; 1.16 double* _par_last_obj_copy_times_ms; 1.17 double* _par_last_termination_times_ms; 1.18 + double* _par_last_termination_attempts; 1.19 + double* _par_last_gc_worker_end_times_ms; 1.20 1.21 // indicates that we are in young GC mode 1.22 bool _in_young_gc_mode; 1.23 @@ -559,13 +560,14 @@ 1.24 } 1.25 1.26 protected: 1.27 - void print_stats (int level, const char* str, double value); 1.28 - void print_stats (int level, const char* str, int value); 1.29 - void print_par_stats (int level, const char* str, double* data) { 1.30 + void print_stats(int level, const char* str, double value); 1.31 + void print_stats(int level, const char* str, int value); 1.32 + 1.33 + void print_par_stats(int level, const char* str, double* data) { 1.34 print_par_stats(level, str, data, true); 1.35 } 1.36 - void print_par_stats (int level, const char* str, double* data, bool summary); 1.37 - void print_par_buffers (int level, const char* str, double* data, bool summary); 1.38 + void print_par_stats(int level, const char* str, double* data, bool summary); 1.39 + void print_par_sizes(int level, const char* str, double* data, bool summary); 1.40 1.41 void check_other_times(int level, 1.42 NumberSeq* other_times_ms, 1.43 @@ -891,6 +893,10 @@ 1.44 virtual void record_full_collection_start(); 1.45 virtual void record_full_collection_end(); 1.46 1.47 + void record_gc_worker_start_time(int worker_i, double ms) { 1.48 + _par_last_gc_worker_start_times_ms[worker_i] = ms; 1.49 + } 1.50 + 1.51 void record_ext_root_scan_time(int worker_i, double ms) { 1.52 _par_last_ext_root_scan_times_ms[worker_i] = ms; 1.53 } 1.54 @@ -912,10 +918,6 @@ 1.55 _all_mod_union_times_ms->add(ms); 1.56 } 1.57 1.58 - void record_update_rs_start_time(int thread, double ms) { 1.59 - _par_last_update_rs_start_times_ms[thread] = ms; 1.60 - } 1.61 - 1.62 void record_update_rs_time(int thread, double ms) { 1.63 _par_last_update_rs_times_ms[thread] = ms; 1.64 } 1.65 @@ -925,10 +927,6 @@ 1.66 _par_last_update_rs_processed_buffers[thread] = processed_buffers; 1.67 } 1.68 1.69 - void record_scan_rs_start_time(int thread, double ms) { 1.70 - _par_last_scan_rs_start_times_ms[thread] = ms; 1.71 - } 1.72 - 1.73 void record_scan_rs_time(int thread, double ms) { 1.74 _par_last_scan_rs_times_ms[thread] = ms; 1.75 } 1.76 @@ -953,16 +951,13 @@ 1.77 _par_last_obj_copy_times_ms[thread] += ms; 1.78 } 1.79 1.80 - void record_obj_copy_time(double ms) { 1.81 - record_obj_copy_time(0, ms); 1.82 + void record_termination(int thread, double ms, size_t attempts) { 1.83 + _par_last_termination_times_ms[thread] = ms; 1.84 + _par_last_termination_attempts[thread] = (double) attempts; 1.85 } 1.86 1.87 - void record_termination_time(int thread, double ms) { 1.88 - _par_last_termination_times_ms[thread] = ms; 1.89 - } 1.90 - 1.91 - void record_termination_time(double ms) { 1.92 - record_termination_time(0, ms); 1.93 + void record_gc_worker_end_time(int worker_i, double ms) { 1.94 + _par_last_gc_worker_end_times_ms[worker_i] = ms; 1.95 } 1.96 1.97 void record_pause_time_ms(double ms) {