1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Thu Oct 20 12:06:20 2011 -0700 1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Sun Oct 23 23:06:06 2011 -0700 1.3 @@ -74,7 +74,7 @@ 1.4 define_num_seq(termination) // parallel only 1.5 define_num_seq(parallel_other) // parallel only 1.6 define_num_seq(mark_closure) 1.7 - define_num_seq(clear_ct) // parallel only 1.8 + define_num_seq(clear_ct) 1.9 }; 1.10 1.11 class Summary: public PauseSummary, 1.12 @@ -115,7 +115,6 @@ 1.13 double _cur_collection_par_time_ms; 1.14 double _cur_satb_drain_time_ms; 1.15 double _cur_clear_ct_time_ms; 1.16 - bool _satb_drain_time_set; 1.17 double _cur_ref_proc_time_ms; 1.18 double _cur_ref_enq_time_ms; 1.19 1.20 @@ -176,6 +175,11 @@ 1.21 double* _par_last_gc_worker_end_times_ms; 1.22 double* _par_last_gc_worker_times_ms; 1.23 1.24 + // Each workers 'other' time i.e. the elapsed time of the parallel 1.25 + // phase of the pause minus the sum of the individual sub-phase 1.26 + // times for a given worker thread. 1.27 + double* _par_last_gc_worker_other_times_ms; 1.28 + 1.29 // indicates whether we are in full young or partially young GC mode 1.30 bool _full_young_gcs; 1.31 1.32 @@ -892,11 +896,12 @@ 1.33 } 1.34 1.35 void record_satb_drain_time(double ms) { 1.36 + assert(_g1->mark_in_progress(), "shouldn't be here otherwise"); 1.37 _cur_satb_drain_time_ms = ms; 1.38 - _satb_drain_time_set = true; 1.39 } 1.40 1.41 - void record_satb_drain_processed_buffers (int processed_buffers) { 1.42 + void record_satb_drain_processed_buffers(int processed_buffers) { 1.43 + assert(_g1->mark_in_progress(), "shouldn't be here otherwise"); 1.44 _last_satb_drain_processed_buffers = processed_buffers; 1.45 } 1.46