94
95 double _cur_string_dedup_fixup_time_ms;
96
97 double _cur_clear_ct_time_ms;
98 double _cur_expand_heap_time_ms;
99 double _cur_ref_proc_time_ms;
100 double _cur_ref_enq_time_ms;
101
102 double _cur_collection_start_sec;
103 double _root_region_scan_wait_time_ms;
104
105 double _external_accounted_time_ms;
106
107 double _recorded_young_cset_choice_time_ms;
108 double _recorded_non_young_cset_choice_time_ms;
109
110 double _recorded_redirty_logged_cards_time_ms;
111
112 double _recorded_preserve_cm_referents_time_ms;
113
114 double _recorded_young_free_cset_time_ms;
115 double _recorded_non_young_free_cset_time_ms;
116
117 double _cur_fast_reclaim_humongous_time_ms;
118 double _cur_fast_reclaim_humongous_register_time_ms;
119 size_t _cur_fast_reclaim_humongous_total;
120 size_t _cur_fast_reclaim_humongous_candidates;
121 size_t _cur_fast_reclaim_humongous_reclaimed;
122
123 double _cur_verify_before_time_ms;
124 double _cur_verify_after_time_ms;
125
126 // Helper methods for detailed logging
127 void print_stats(const char*, const char* str, double value);
128
129 void note_gc_end();
130
131 public:
132 G1GCPhaseTimes(uint max_gc_threads);
133 void note_gc_start(uint active_gc_threads);
222
223 void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
224 _cur_fast_reclaim_humongous_time_ms = value;
225 _cur_fast_reclaim_humongous_reclaimed = reclaimed;
226 }
227
228 void record_young_cset_choice_time_ms(double time_ms) {
229 _recorded_young_cset_choice_time_ms = time_ms;
230 }
231
232 void record_non_young_cset_choice_time_ms(double time_ms) {
233 _recorded_non_young_cset_choice_time_ms = time_ms;
234 }
235
236 void record_redirty_logged_cards_time_ms(double time_ms) {
237 _recorded_redirty_logged_cards_time_ms = time_ms;
238 }
239
240 void record_preserve_cm_referents_time_ms(double time_ms) {
241 _recorded_preserve_cm_referents_time_ms = time_ms;
242 }
243
244 void record_cur_collection_start_sec(double time_ms) {
245 _cur_collection_start_sec = time_ms;
246 }
247
248 void record_verify_before_time_ms(double time_ms) {
249 _cur_verify_before_time_ms = time_ms;
250 }
251
252 void record_verify_after_time_ms(double time_ms) {
253 _cur_verify_after_time_ms = time_ms;
254 }
255
256 void inc_external_accounted_time_ms(double time_ms) {
257 _external_accounted_time_ms += time_ms;
258 }
259
260 double accounted_time_ms();
261
|
94
95 double _cur_string_dedup_fixup_time_ms;
96
97 double _cur_clear_ct_time_ms;
98 double _cur_expand_heap_time_ms;
99 double _cur_ref_proc_time_ms;
100 double _cur_ref_enq_time_ms;
101
102 double _cur_collection_start_sec;
103 double _root_region_scan_wait_time_ms;
104
105 double _external_accounted_time_ms;
106
107 double _recorded_young_cset_choice_time_ms;
108 double _recorded_non_young_cset_choice_time_ms;
109
110 double _recorded_redirty_logged_cards_time_ms;
111
112 double _recorded_preserve_cm_referents_time_ms;
113
114 double _recorded_merge_pss_time_ms;
115
116 double _recorded_young_free_cset_time_ms;
117 double _recorded_non_young_free_cset_time_ms;
118
119 double _cur_fast_reclaim_humongous_time_ms;
120 double _cur_fast_reclaim_humongous_register_time_ms;
121 size_t _cur_fast_reclaim_humongous_total;
122 size_t _cur_fast_reclaim_humongous_candidates;
123 size_t _cur_fast_reclaim_humongous_reclaimed;
124
125 double _cur_verify_before_time_ms;
126 double _cur_verify_after_time_ms;
127
128 // Helper methods for detailed logging
129 void print_stats(const char*, const char* str, double value);
130
131 void note_gc_end();
132
133 public:
134 G1GCPhaseTimes(uint max_gc_threads);
135 void note_gc_start(uint active_gc_threads);
224
225 void record_fast_reclaim_humongous_time_ms(double value, size_t reclaimed) {
226 _cur_fast_reclaim_humongous_time_ms = value;
227 _cur_fast_reclaim_humongous_reclaimed = reclaimed;
228 }
229
230 void record_young_cset_choice_time_ms(double time_ms) {
231 _recorded_young_cset_choice_time_ms = time_ms;
232 }
233
234 void record_non_young_cset_choice_time_ms(double time_ms) {
235 _recorded_non_young_cset_choice_time_ms = time_ms;
236 }
237
238 void record_redirty_logged_cards_time_ms(double time_ms) {
239 _recorded_redirty_logged_cards_time_ms = time_ms;
240 }
241
242 void record_preserve_cm_referents_time_ms(double time_ms) {
243 _recorded_preserve_cm_referents_time_ms = time_ms;
244 }
245
246 void record_merge_pss_time_ms(double time_ms) {
247 _recorded_merge_pss_time_ms = time_ms;
248 }
249
250 void record_cur_collection_start_sec(double time_ms) {
251 _cur_collection_start_sec = time_ms;
252 }
253
254 void record_verify_before_time_ms(double time_ms) {
255 _cur_verify_before_time_ms = time_ms;
256 }
257
258 void record_verify_after_time_ms(double time_ms) {
259 _cur_verify_after_time_ms = time_ms;
260 }
261
262 void inc_external_accounted_time_ms(double time_ms) {
263 _external_accounted_time_ms += time_ms;
264 }
265
266 double accounted_time_ms();
267
|