< prev index next >

src/share/vm/gc_implementation/g1/g1GCPhaseTimes.hpp

Print this page
rev 7520 : 8048179: Early reclaim of large objects that are referenced by a few objects
Summary:
Reviewed-by:


 140   WorkerDataArray<double> _cur_string_dedup_table_fixup_worker_times_ms;
 141 
 142   double _cur_clear_ct_time_ms;
 143   double _cur_ref_proc_time_ms;
 144   double _cur_ref_enq_time_ms;
 145 
 146   double _cur_collection_start_sec;
 147   double _root_region_scan_wait_time_ms;
 148 
 149   double _recorded_young_cset_choice_time_ms;
 150   double _recorded_non_young_cset_choice_time_ms;
 151 
 152   WorkerDataArray<double> _last_redirty_logged_cards_time_ms;
 153   WorkerDataArray<size_t> _last_redirty_logged_cards_processed_cards;
 154   double _recorded_redirty_logged_cards_time_ms;
 155 
 156   double _recorded_young_free_cset_time_ms;
 157   double _recorded_non_young_free_cset_time_ms;
 158 
 159   double _cur_fast_reclaim_humongous_time_ms;

 160   size_t _cur_fast_reclaim_humongous_total;
 161   size_t _cur_fast_reclaim_humongous_candidates;
 162   size_t _cur_fast_reclaim_humongous_reclaimed;
 163 
 164   double _cur_verify_before_time_ms;
 165   double _cur_verify_after_time_ms;
 166 
 167   // Helper methods for detailed logging
 168   void print_stats(int level, const char* str, double value);
 169   void print_stats(int level, const char* str, size_t value);
 170   void print_stats(int level, const char* str, double value, uint workers);
 171 
 172  public:
 173   G1GCPhaseTimes(uint max_gc_threads);
 174   void note_gc_start(uint active_gc_threads);
 175   void note_gc_end();
 176   void print(double pause_time_sec);
 177 
 178   void record_gc_worker_start_time(uint worker_i, double ms) {
 179     _last_gc_worker_start_times_ms.set(worker_i, ms);


 266   void record_ref_proc_time(double ms) {
 267     _cur_ref_proc_time_ms = ms;
 268   }
 269 
 270   void record_ref_enq_time(double ms) {
 271     _cur_ref_enq_time_ms = ms;
 272   }
 273 
 274   void record_root_region_scan_wait_time(double time_ms) {
 275     _root_region_scan_wait_time_ms = time_ms;
 276   }
 277 
 278   void record_young_free_cset_time_ms(double time_ms) {
 279     _recorded_young_free_cset_time_ms = time_ms;
 280   }
 281 
 282   void record_non_young_free_cset_time_ms(double time_ms) {
 283     _recorded_non_young_free_cset_time_ms = time_ms;
 284   }
 285 
 286   void record_fast_reclaim_humongous_stats(size_t total, size_t candidates) {

 287     _cur_fast_reclaim_humongous_total = total;
 288     _cur_fast_reclaim_humongous_candidates = candidates;
 289   }
 290 
 291   void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
 292     _cur_fast_reclaim_humongous_time_ms = value;
 293     _cur_fast_reclaim_humongous_reclaimed = reclaimed;
 294   }
 295 
 296   void record_young_cset_choice_time_ms(double time_ms) {
 297     _recorded_young_cset_choice_time_ms = time_ms;
 298   }
 299 
 300   void record_non_young_cset_choice_time_ms(double time_ms) {
 301     _recorded_non_young_cset_choice_time_ms = time_ms;
 302   }
 303 
 304   void record_redirty_logged_cards_time_ms(uint worker_i, double time_ms) {
 305     _last_redirty_logged_cards_time_ms.set(worker_i, time_ms);
 306   }




 140   WorkerDataArray<double> _cur_string_dedup_table_fixup_worker_times_ms;
 141 
 142   double _cur_clear_ct_time_ms;
 143   double _cur_ref_proc_time_ms;
 144   double _cur_ref_enq_time_ms;
 145 
 146   double _cur_collection_start_sec;
 147   double _root_region_scan_wait_time_ms;
 148 
 149   double _recorded_young_cset_choice_time_ms;
 150   double _recorded_non_young_cset_choice_time_ms;
 151 
 152   WorkerDataArray<double> _last_redirty_logged_cards_time_ms;
 153   WorkerDataArray<size_t> _last_redirty_logged_cards_processed_cards;
 154   double _recorded_redirty_logged_cards_time_ms;
 155 
 156   double _recorded_young_free_cset_time_ms;
 157   double _recorded_non_young_free_cset_time_ms;
 158 
 159   double _cur_fast_reclaim_humongous_time_ms;
 160   double _cur_fast_reclaim_humongous_register_time_ms;
 161   size_t _cur_fast_reclaim_humongous_total;
 162   size_t _cur_fast_reclaim_humongous_candidates;
 163   size_t _cur_fast_reclaim_humongous_reclaimed;
 164 
 165   double _cur_verify_before_time_ms;
 166   double _cur_verify_after_time_ms;
 167 
 168   // Helper methods for detailed logging
 169   void print_stats(int level, const char* str, double value);
 170   void print_stats(int level, const char* str, size_t value);
 171   void print_stats(int level, const char* str, double value, uint workers);
 172 
 173  public:
 174   G1GCPhaseTimes(uint max_gc_threads);
 175   void note_gc_start(uint active_gc_threads);
 176   void note_gc_end();
 177   void print(double pause_time_sec);
 178 
 179   void record_gc_worker_start_time(uint worker_i, double ms) {
 180     _last_gc_worker_start_times_ms.set(worker_i, ms);


 267   void record_ref_proc_time(double ms) {
 268     _cur_ref_proc_time_ms = ms;
 269   }
 270 
 271   void record_ref_enq_time(double ms) {
 272     _cur_ref_enq_time_ms = ms;
 273   }
 274 
 275   void record_root_region_scan_wait_time(double time_ms) {
 276     _root_region_scan_wait_time_ms = time_ms;
 277   }
 278 
 279   void record_young_free_cset_time_ms(double time_ms) {
 280     _recorded_young_free_cset_time_ms = time_ms;
 281   }
 282 
 283   void record_non_young_free_cset_time_ms(double time_ms) {
 284     _recorded_non_young_free_cset_time_ms = time_ms;
 285   }
 286 
 287   void record_fast_reclaim_humongous_stats(double time_ms, size_t total, size_t candidates) {
 288     _cur_fast_reclaim_humongous_register_time_ms = time_ms;
 289     _cur_fast_reclaim_humongous_total = total;
 290     _cur_fast_reclaim_humongous_candidates = candidates;
 291   }
 292 
 293   void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
 294     _cur_fast_reclaim_humongous_time_ms = value;
 295     _cur_fast_reclaim_humongous_reclaimed = reclaimed;
 296   }
 297 
 298   void record_young_cset_choice_time_ms(double time_ms) {
 299     _recorded_young_cset_choice_time_ms = time_ms;
 300   }
 301 
 302   void record_non_young_cset_choice_time_ms(double time_ms) {
 303     _recorded_non_young_cset_choice_time_ms = time_ms;
 304   }
 305 
 306   void record_redirty_logged_cards_time_ms(uint worker_i, double time_ms) {
 307     _last_redirty_logged_cards_time_ms.set(worker_i, time_ms);
 308   }


< prev index next >