100 double _root_region_scan_wait_time_ms;
101
102 double _recorded_young_cset_choice_time_ms;
103 double _recorded_non_young_cset_choice_time_ms;
104
105 double _recorded_redirty_logged_cards_time_ms;
106
107 double _recorded_young_free_cset_time_ms;
108 double _recorded_non_young_free_cset_time_ms;
109
110 double _cur_fast_reclaim_humongous_time_ms;
111 double _cur_fast_reclaim_humongous_register_time_ms;
112 size_t _cur_fast_reclaim_humongous_total;
113 size_t _cur_fast_reclaim_humongous_candidates;
114 size_t _cur_fast_reclaim_humongous_reclaimed;
115
116 double _cur_verify_before_time_ms;
117 double _cur_verify_after_time_ms;
118
119 // Helper methods for detailed logging
120 void print_stats(int level, const char* str, double value);
121 void print_stats(int level, const char* str, size_t value);
122 void print_stats(int level, const char* str, double value, uint workers);
123
124 void note_gc_end();
125
126 public:
127 G1GCPhaseTimes(uint max_gc_threads);
128 void note_gc_start(uint active_gc_threads);
129 void print(double pause_time_sec);
130
131 // record the time a phase took in seconds
132 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
133
134 // add a number of seconds to a phase
135 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
136
137 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
138
139 // return the average time for a phase in milliseconds
140 double average_time_ms(GCParPhases phase);
141
142 size_t sum_thread_work_items(GCParPhases phase);
|
100 double _root_region_scan_wait_time_ms;
101
102 double _recorded_young_cset_choice_time_ms;
103 double _recorded_non_young_cset_choice_time_ms;
104
105 double _recorded_redirty_logged_cards_time_ms;
106
107 double _recorded_young_free_cset_time_ms;
108 double _recorded_non_young_free_cset_time_ms;
109
110 double _cur_fast_reclaim_humongous_time_ms;
111 double _cur_fast_reclaim_humongous_register_time_ms;
112 size_t _cur_fast_reclaim_humongous_total;
113 size_t _cur_fast_reclaim_humongous_candidates;
114 size_t _cur_fast_reclaim_humongous_reclaimed;
115
116 double _cur_verify_before_time_ms;
117 double _cur_verify_after_time_ms;
118
119 // Helper methods for detailed logging
120 void print_stats(const char*, const char* str, double value);
121
122 void note_gc_end();
123
124 public:
125 G1GCPhaseTimes(uint max_gc_threads);
126 void note_gc_start(uint active_gc_threads);
127 void print(double pause_time_sec);
128
129 // record the time a phase took in seconds
130 void record_time_secs(GCParPhases phase, uint worker_i, double secs);
131
132 // add a number of seconds to a phase
133 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
134
135 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
136
137 // return the average time for a phase in milliseconds
138 double average_time_ms(GCParPhases phase);
139
140 size_t sum_thread_work_items(GCParPhases phase);
|