86 return p;
87 }
88
89 ShenandoahWorkerData* ShenandoahPhaseTimings::worker_data(Phase phase, ParPhase par_phase) {
90 Phase p = worker_par_phase(phase, par_phase);
91 ShenandoahWorkerData* wd = _worker_data[p];
92 assert(wd != NULL, "Counter initialized: %s", phase_name(p));
93 return wd;
94 }
95
96 bool ShenandoahPhaseTimings::is_worker_phase(Phase phase) {
97 assert(phase >= 0 && phase < _num_phases, "Out of bounds");
98 switch (phase) {
99 case init_evac:
100 case scan_roots:
101 case update_roots:
102 case final_update_refs_roots:
103 case full_gc_scan_roots:
104 case full_gc_update_roots:
105 case full_gc_adjust_roots:
106 case degen_gc_update_roots:
107 case full_gc_purge_class_unload:
108 case full_gc_purge_weak_par:
109 case purge_class_unload:
110 case purge_weak_par:
111 case heap_iteration_roots:
112 case conc_weak_roots_work:
113 case conc_strong_roots:
114 return true;
115 default:
116 return false;
117 }
118 }
119
120 bool ShenandoahPhaseTimings::is_root_work_phase(Phase phase) {
121 switch (phase) {
122 case scan_roots:
123 case update_roots:
124 case init_evac:
125 case final_update_refs_roots:
126 case degen_gc_update_roots:
127 case full_gc_scan_roots:
128 case full_gc_update_roots:
129 case full_gc_adjust_roots:
130 return true;
131 default:
|
86 return p;
87 }
88
89 ShenandoahWorkerData* ShenandoahPhaseTimings::worker_data(Phase phase, ParPhase par_phase) {
90 Phase p = worker_par_phase(phase, par_phase);
91 ShenandoahWorkerData* wd = _worker_data[p];
92 assert(wd != NULL, "Counter initialized: %s", phase_name(p));
93 return wd;
94 }
95
96 bool ShenandoahPhaseTimings::is_worker_phase(Phase phase) {
97 assert(phase >= 0 && phase < _num_phases, "Out of bounds");
98 switch (phase) {
99 case init_evac:
100 case scan_roots:
101 case update_roots:
102 case final_update_refs_roots:
103 case full_gc_scan_roots:
104 case full_gc_update_roots:
105 case full_gc_adjust_roots:
106 case degen_gc_scan_conc_roots:
107 case degen_gc_update_roots:
108 case full_gc_scan_conc_roots:
109 case full_gc_purge_class_unload:
110 case full_gc_purge_weak_par:
111 case purge_class_unload:
112 case purge_weak_par:
113 case heap_iteration_roots:
114 case conc_mark_roots:
115 case conc_weak_roots_work:
116 case conc_strong_roots:
117 return true;
118 default:
119 return false;
120 }
121 }
122
123 bool ShenandoahPhaseTimings::is_root_work_phase(Phase phase) {
124 switch (phase) {
125 case scan_roots:
126 case update_roots:
127 case init_evac:
128 case final_update_refs_roots:
129 case degen_gc_update_roots:
130 case full_gc_scan_roots:
131 case full_gc_update_roots:
132 case full_gc_adjust_roots:
133 return true;
134 default:
|