130
131 // Per-thread timer block, should have "roots" counters in consistent order
132 final_update_refs_roots,
133 final_update_refs_thread_roots,
134 final_update_refs_code_roots,
135 final_update_refs_string_table_roots,
136 final_update_refs_universe_roots,
137 final_update_refs_jni_roots,
138 final_update_refs_jni_weak_roots,
139 final_update_refs_synchronizer_roots,
140 final_update_refs_flat_profiler_roots,
141 final_update_refs_management_roots,
142 final_update_refs_system_dict_roots,
143 final_update_refs_cldg_roots,
144 final_update_refs_jvmti_roots,
145 final_update_refs_string_dedup_roots,
146 final_update_refs_finish_queues,
147
148 final_update_refs_recycle,
149
150 init_partial_gc_gross,
151 init_partial_gc,
152 partial_gc_prepare,
153
154 // Per-thread timer block, should have "roots" counters in consistent order
155 init_partial_gc_work,
156 init_partial_gc_thread_roots,
157 init_partial_gc_code_roots,
158 init_partial_gc_string_table_roots,
159 init_partial_gc_universe_roots,
160 init_partial_gc_jni_roots,
161 init_partial_gc_jni_weak_roots,
162 init_partial_gc_synchronizer_roots,
163 init_partial_gc_flat_profiler_roots,
164 init_partial_gc_management_roots,
165 init_partial_gc_system_dict_roots,
166 init_partial_gc_cldg_roots,
167 init_partial_gc_jvmti_roots,
168 init_partial_gc_string_dedup_roots,
169 init_partial_gc_finish_queues,
170
171 final_partial_gc_gross,
172 final_partial_gc,
173
174 // Per-thread timer block, should have "roots" counters in consistent order
175 final_partial_gc_work,
176 final_partial_gc_thread_roots,
177 final_partial_gc_code_roots,
178 final_partial_gc_string_table_roots,
179 final_partial_gc_universe_roots,
180 final_partial_gc_jni_roots,
181 final_partial_gc_jni_weak_roots,
182 final_partial_gc_synchronizer_roots,
183 final_partial_gc_flat_profiler_roots,
184 final_partial_gc_management_roots,
185 final_partial_gc_system_dict_roots,
186 final_partial_gc_cldg_roots,
187 final_partial_gc_jvmti_roots,
188 final_partial_gc_string_dedup_roots,
189 final_partial_gc_finish_queues,
190
191 partial_gc_cleanup,
192
193 degen_gc_gross,
194 degen_gc,
195
196 init_traversal_gc_gross,
197 init_traversal_gc,
198 traversal_gc_prepare,
199
200 // Per-thread timer block, should have "roots" counters in consistent order
201 init_traversal_gc_work,
202 init_traversal_gc_thread_roots,
203 init_traversal_gc_code_roots,
204 init_traversal_gc_string_table_roots,
205 init_traversal_gc_universe_roots,
206 init_traversal_gc_jni_roots,
207 init_traversal_gc_jni_weak_roots,
208 init_traversal_gc_synchronizer_roots,
209 init_traversal_gc_flat_profiler_roots,
210 init_traversal_gc_management_roots,
211 init_traversal_gc_system_dict_roots,
212 init_traversal_gc_cldg_roots,
291 full_gc_purge_cldg,
292 full_gc_purge_par_string_dedup,
293 full_gc_calculate_addresses,
294 full_gc_calculate_addresses_regular,
295 full_gc_calculate_addresses_humong,
296 full_gc_adjust_pointers,
297 full_gc_copy_objects,
298 full_gc_copy_objects_regular,
299 full_gc_copy_objects_humong,
300 full_gc_update_str_dedup_table,
301 full_gc_resize_tlabs,
302
303 // Longer concurrent phases at the end
304 conc_mark,
305 conc_preclean,
306 conc_evac,
307 conc_update_refs,
308 conc_cleanup,
309 conc_cleanup_recycle,
310 conc_cleanup_reset_bitmaps,
311 conc_partial,
312 conc_traversal,
313
314 // Unclassified
315 pause_other,
316 conc_other,
317
318 _num_phases
319 };
320
321
322 // These are the subphases of GC phases (scan_roots, update_roots,
323 // init_evac, final_update_refs_roots, partial_gc_work and full_gc_roots).
324 // Make sure they are following this order.
325 enum GCParPhases {
326 ThreadRoots,
327 CodeCacheRoots,
328 StringTableRoots,
329 UniverseRoots,
330 JNIRoots,
331 JNIWeakRoots,
332 ObjectSynchronizerRoots,
333 FlatProfilerRoots,
334 ManagementRoots,
335 SystemDictionaryRoots,
336 CLDGRoots,
337 JVMTIRoots,
338 StringDedupRoots,
339 FinishQueues,
340 GCParPhasesSentinel
341 };
342
343 private:
|
130
131 // Per-thread timer block, should have "roots" counters in consistent order
132 final_update_refs_roots,
133 final_update_refs_thread_roots,
134 final_update_refs_code_roots,
135 final_update_refs_string_table_roots,
136 final_update_refs_universe_roots,
137 final_update_refs_jni_roots,
138 final_update_refs_jni_weak_roots,
139 final_update_refs_synchronizer_roots,
140 final_update_refs_flat_profiler_roots,
141 final_update_refs_management_roots,
142 final_update_refs_system_dict_roots,
143 final_update_refs_cldg_roots,
144 final_update_refs_jvmti_roots,
145 final_update_refs_string_dedup_roots,
146 final_update_refs_finish_queues,
147
148 final_update_refs_recycle,
149
150 degen_gc_gross,
151 degen_gc,
152
153 init_traversal_gc_gross,
154 init_traversal_gc,
155 traversal_gc_prepare,
156
157 // Per-thread timer block, should have "roots" counters in consistent order
158 init_traversal_gc_work,
159 init_traversal_gc_thread_roots,
160 init_traversal_gc_code_roots,
161 init_traversal_gc_string_table_roots,
162 init_traversal_gc_universe_roots,
163 init_traversal_gc_jni_roots,
164 init_traversal_gc_jni_weak_roots,
165 init_traversal_gc_synchronizer_roots,
166 init_traversal_gc_flat_profiler_roots,
167 init_traversal_gc_management_roots,
168 init_traversal_gc_system_dict_roots,
169 init_traversal_gc_cldg_roots,
248 full_gc_purge_cldg,
249 full_gc_purge_par_string_dedup,
250 full_gc_calculate_addresses,
251 full_gc_calculate_addresses_regular,
252 full_gc_calculate_addresses_humong,
253 full_gc_adjust_pointers,
254 full_gc_copy_objects,
255 full_gc_copy_objects_regular,
256 full_gc_copy_objects_humong,
257 full_gc_update_str_dedup_table,
258 full_gc_resize_tlabs,
259
260 // Longer concurrent phases at the end
261 conc_mark,
262 conc_preclean,
263 conc_evac,
264 conc_update_refs,
265 conc_cleanup,
266 conc_cleanup_recycle,
267 conc_cleanup_reset_bitmaps,
268 conc_traversal,
269
270 // Unclassified
271 pause_other,
272 conc_other,
273
274 _num_phases
275 };
276
277
278 // These are the subphases of GC phases (scan_roots, update_roots,
279 // init_evac, final_update_refs_roots and full_gc_roots).
280 // Make sure they are following this order.
281 enum GCParPhases {
282 ThreadRoots,
283 CodeCacheRoots,
284 StringTableRoots,
285 UniverseRoots,
286 JNIRoots,
287 JNIWeakRoots,
288 ObjectSynchronizerRoots,
289 FlatProfilerRoots,
290 ManagementRoots,
291 SystemDictionaryRoots,
292 CLDGRoots,
293 JVMTIRoots,
294 StringDedupRoots,
295 FinishQueues,
296 GCParPhasesSentinel
297 };
298
299 private:
|