83 static const int StringDedupPhasesLast = StringDedupTableFixup;
84
85 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
86 WorkerDataArray<size_t>* _update_rs_processed_buffers;
87 WorkerDataArray<size_t>* _termination_attempts;
88 WorkerDataArray<size_t>* _redirtied_cards;
89
90 double _cur_collection_par_time_ms;
91 double _cur_collection_code_root_fixup_time_ms;
92 double _cur_strong_code_root_purge_time_ms;
93
94 double _cur_evac_fail_recalc_used;
95 double _cur_evac_fail_restore_remsets;
96 double _cur_evac_fail_remove_self_forwards;
97
98 double _cur_string_dedup_fixup_time_ms;
99
100 double _cur_prepare_tlab_time_ms;
101 double _cur_resize_tlab_time_ms;
102
103 double _cur_dpt_update_time_ms;
104
105 double _cur_clear_ct_time_ms;
106 double _cur_expand_heap_time_ms;
107 double _cur_ref_proc_time_ms;
108 double _cur_ref_enq_time_ms;
109
110 double _cur_collection_start_sec;
111 double _root_region_scan_wait_time_ms;
112
113 double _external_accounted_time_ms;
114
115 double _recorded_clear_claimed_marks_time_ms;
116
117 double _recorded_young_cset_choice_time_ms;
118 double _recorded_non_young_cset_choice_time_ms;
119
120 double _recorded_redirty_logged_cards_time_ms;
121
122 double _recorded_preserve_cm_referents_time_ms;
123
170 // add a number of seconds to a phase
171 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
172
173 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
174
175 // return the average time for a phase in milliseconds
176 double average_time_ms(GCParPhases phase);
177
178 size_t sum_thread_work_items(GCParPhases phase);
179
180 public:
181
182 void record_prepare_tlab_time_ms(double ms) {
183 _cur_prepare_tlab_time_ms = ms;
184 }
185
186 void record_resize_tlab_time_ms(double ms) {
187 _cur_resize_tlab_time_ms = ms;
188 }
189
190 void record_dpt_update_time(double ms) {
191 _cur_dpt_update_time_ms = ms;
192 }
193
194 void record_clear_ct_time(double ms) {
195 _cur_clear_ct_time_ms = ms;
196 }
197
198 void record_expand_heap_time(double ms) {
199 _cur_expand_heap_time_ms = ms;
200 }
201
202 void record_par_time(double ms) {
203 _cur_collection_par_time_ms = ms;
204 }
205
206 void record_code_root_fixup_time(double ms) {
207 _cur_collection_code_root_fixup_time_ms = ms;
208 }
209
210 void record_strong_code_root_purge_time(double ms) {
211 _cur_strong_code_root_purge_time_ms = ms;
|
83 static const int StringDedupPhasesLast = StringDedupTableFixup;
84
85 WorkerDataArray<double>* _gc_par_phases[GCParPhasesSentinel];
86 WorkerDataArray<size_t>* _update_rs_processed_buffers;
87 WorkerDataArray<size_t>* _termination_attempts;
88 WorkerDataArray<size_t>* _redirtied_cards;
89
90 double _cur_collection_par_time_ms;
91 double _cur_collection_code_root_fixup_time_ms;
92 double _cur_strong_code_root_purge_time_ms;
93
94 double _cur_evac_fail_recalc_used;
95 double _cur_evac_fail_restore_remsets;
96 double _cur_evac_fail_remove_self_forwards;
97
98 double _cur_string_dedup_fixup_time_ms;
99
100 double _cur_prepare_tlab_time_ms;
101 double _cur_resize_tlab_time_ms;
102
103 double _cur_derived_pointer_table_update_time_ms;
104
105 double _cur_clear_ct_time_ms;
106 double _cur_expand_heap_time_ms;
107 double _cur_ref_proc_time_ms;
108 double _cur_ref_enq_time_ms;
109
110 double _cur_collection_start_sec;
111 double _root_region_scan_wait_time_ms;
112
113 double _external_accounted_time_ms;
114
115 double _recorded_clear_claimed_marks_time_ms;
116
117 double _recorded_young_cset_choice_time_ms;
118 double _recorded_non_young_cset_choice_time_ms;
119
120 double _recorded_redirty_logged_cards_time_ms;
121
122 double _recorded_preserve_cm_referents_time_ms;
123
170 // add a number of seconds to a phase
171 void add_time_secs(GCParPhases phase, uint worker_i, double secs);
172
173 void record_thread_work_item(GCParPhases phase, uint worker_i, size_t count);
174
175 // return the average time for a phase in milliseconds
176 double average_time_ms(GCParPhases phase);
177
178 size_t sum_thread_work_items(GCParPhases phase);
179
180 public:
181
182 void record_prepare_tlab_time_ms(double ms) {
183 _cur_prepare_tlab_time_ms = ms;
184 }
185
186 void record_resize_tlab_time_ms(double ms) {
187 _cur_resize_tlab_time_ms = ms;
188 }
189
190 void record_derived_pointer_table_update_time(double ms) {
191 _cur_derived_pointer_table_update_time_ms = ms;
192 }
193
194 void record_clear_ct_time(double ms) {
195 _cur_clear_ct_time_ms = ms;
196 }
197
198 void record_expand_heap_time(double ms) {
199 _cur_expand_heap_time_ms = ms;
200 }
201
202 void record_par_time(double ms) {
203 _cur_collection_par_time_ms = ms;
204 }
205
206 void record_code_root_fixup_time(double ms) {
207 _cur_collection_code_root_fixup_time_ms = ms;
208 }
209
210 void record_strong_code_root_purge_time(double ms) {
211 _cur_strong_code_root_purge_time_ms = ms;
|