< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp

Print this page
rev 59534 : 8245961: Shenandoah: move some root marking to concurrent phase


  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:


< prev index next >