120 WorkerDataArray<int> _last_update_rs_processed_buffers;
121 WorkerDataArray<double> _last_scan_rs_times_ms;
122 WorkerDataArray<double> _last_strong_code_root_scan_times_ms;
123 WorkerDataArray<double> _last_strong_code_root_mark_times_ms;
124 WorkerDataArray<double> _last_obj_copy_times_ms;
125 WorkerDataArray<double> _last_termination_times_ms;
126 WorkerDataArray<size_t> _last_termination_attempts;
127 WorkerDataArray<double> _last_gc_worker_end_times_ms;
128 WorkerDataArray<double> _last_gc_worker_times_ms;
129 WorkerDataArray<double> _last_gc_worker_other_times_ms;
130
131 double _cur_collection_par_time_ms;
132 double _cur_collection_code_root_fixup_time_ms;
133 double _cur_strong_code_root_migration_time_ms;
134 double _cur_strong_code_root_purge_time_ms;
135
136 double _cur_evac_fail_recalc_used;
137 double _cur_evac_fail_restore_remsets;
138 double _cur_evac_fail_remove_self_forwards;
139
140 double _cur_clear_ct_time_ms;
141 double _cur_ref_proc_time_ms;
142 double _cur_ref_enq_time_ms;
143
144 double _cur_collection_start_sec;
145 double _root_region_scan_wait_time_ms;
146
147 double _recorded_young_cset_choice_time_ms;
148 double _recorded_non_young_cset_choice_time_ms;
149
150 double _recorded_redirty_logged_cards_time_ms;
151
152 double _recorded_young_free_cset_time_ms;
153 double _recorded_non_young_free_cset_time_ms;
154
155 double _cur_verify_before_time_ms;
156 double _cur_verify_after_time_ms;
157
158 // Helper methods for detailed logging
159 void print_stats(int level, const char* str, double value);
229 void record_strong_code_root_migration_time(double ms) {
230 _cur_strong_code_root_migration_time_ms = ms;
231 }
232
233 void record_strong_code_root_purge_time(double ms) {
234 _cur_strong_code_root_purge_time_ms = ms;
235 }
236
237 void record_evac_fail_recalc_used_time(double ms) {
238 _cur_evac_fail_recalc_used = ms;
239 }
240
241 void record_evac_fail_restore_remsets(double ms) {
242 _cur_evac_fail_restore_remsets = ms;
243 }
244
245 void record_evac_fail_remove_self_forwards(double ms) {
246 _cur_evac_fail_remove_self_forwards = ms;
247 }
248
249 void record_ref_proc_time(double ms) {
250 _cur_ref_proc_time_ms = ms;
251 }
252
253 void record_ref_enq_time(double ms) {
254 _cur_ref_enq_time_ms = ms;
255 }
256
257 void record_root_region_scan_wait_time(double time_ms) {
258 _root_region_scan_wait_time_ms = time_ms;
259 }
260
261 void record_young_free_cset_time_ms(double time_ms) {
262 _recorded_young_free_cset_time_ms = time_ms;
263 }
264
265 void record_non_young_free_cset_time_ms(double time_ms) {
266 _recorded_non_young_free_cset_time_ms = time_ms;
267 }
268
|
120 WorkerDataArray<int> _last_update_rs_processed_buffers;
121 WorkerDataArray<double> _last_scan_rs_times_ms;
122 WorkerDataArray<double> _last_strong_code_root_scan_times_ms;
123 WorkerDataArray<double> _last_strong_code_root_mark_times_ms;
124 WorkerDataArray<double> _last_obj_copy_times_ms;
125 WorkerDataArray<double> _last_termination_times_ms;
126 WorkerDataArray<size_t> _last_termination_attempts;
127 WorkerDataArray<double> _last_gc_worker_end_times_ms;
128 WorkerDataArray<double> _last_gc_worker_times_ms;
129 WorkerDataArray<double> _last_gc_worker_other_times_ms;
130
131 double _cur_collection_par_time_ms;
132 double _cur_collection_code_root_fixup_time_ms;
133 double _cur_strong_code_root_migration_time_ms;
134 double _cur_strong_code_root_purge_time_ms;
135
136 double _cur_evac_fail_recalc_used;
137 double _cur_evac_fail_restore_remsets;
138 double _cur_evac_fail_remove_self_forwards;
139
140 double _cur_string_dedup_fixup_time_ms;
141 WorkerDataArray<double> _cur_string_dedup_queue_fixup_worker_times_ms;
142 WorkerDataArray<double> _cur_string_dedup_table_fixup_worker_times_ms;
143
144 double _cur_clear_ct_time_ms;
145 double _cur_ref_proc_time_ms;
146 double _cur_ref_enq_time_ms;
147
148 double _cur_collection_start_sec;
149 double _root_region_scan_wait_time_ms;
150
151 double _recorded_young_cset_choice_time_ms;
152 double _recorded_non_young_cset_choice_time_ms;
153
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_verify_before_time_ms;
160 double _cur_verify_after_time_ms;
161
162 // Helper methods for detailed logging
163 void print_stats(int level, const char* str, double value);
233 void record_strong_code_root_migration_time(double ms) {
234 _cur_strong_code_root_migration_time_ms = ms;
235 }
236
237 void record_strong_code_root_purge_time(double ms) {
238 _cur_strong_code_root_purge_time_ms = ms;
239 }
240
241 void record_evac_fail_recalc_used_time(double ms) {
242 _cur_evac_fail_recalc_used = ms;
243 }
244
245 void record_evac_fail_restore_remsets(double ms) {
246 _cur_evac_fail_restore_remsets = ms;
247 }
248
249 void record_evac_fail_remove_self_forwards(double ms) {
250 _cur_evac_fail_remove_self_forwards = ms;
251 }
252
253 void note_string_dedup_fixup_start();
254 void note_string_dedup_fixup_end();
255
256 void record_string_dedup_fixup_time(double ms) {
257 _cur_string_dedup_fixup_time_ms = ms;
258 }
259
260 void record_string_dedup_queue_fixup_worker_time(uint worker_id, double ms) {
261 _cur_string_dedup_queue_fixup_worker_times_ms.set(worker_id, ms);
262 }
263
264 void record_string_dedup_table_fixup_worker_time(uint worker_id, double ms) {
265 _cur_string_dedup_table_fixup_worker_times_ms.set(worker_id, ms);
266 }
267
268 void record_ref_proc_time(double ms) {
269 _cur_ref_proc_time_ms = ms;
270 }
271
272 void record_ref_enq_time(double ms) {
273 _cur_ref_enq_time_ms = ms;
274 }
275
276 void record_root_region_scan_wait_time(double time_ms) {
277 _root_region_scan_wait_time_ms = time_ms;
278 }
279
280 void record_young_free_cset_time_ms(double time_ms) {
281 _recorded_young_free_cset_time_ms = time_ms;
282 }
283
284 void record_non_young_free_cset_time_ms(double time_ms) {
285 _recorded_non_young_free_cset_time_ms = time_ms;
286 }
287
|