< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahUtils.cpp

Print this page
rev 11463 : Backport Traversal GC


 108 
 109   _heap->phase_timings()->record_phase_start(_phase);
 110 }
 111 
 112 ShenandoahGCPhase::~ShenandoahGCPhase() {
 113   _heap->phase_timings()->record_phase_end(_phase);
 114   _current_phase = _parent_phase;
 115 }
 116 
 117 bool ShenandoahGCPhase::is_valid_phase(ShenandoahPhaseTimings::Phase phase) {
 118   return phase >= 0 && phase < ShenandoahPhaseTimings::_num_phases;
 119 }
 120 
 121 bool ShenandoahGCPhase::is_root_work_phase() {
 122   switch(current_phase()) {
 123     case ShenandoahPhaseTimings::scan_roots:
 124     case ShenandoahPhaseTimings::update_roots:
 125     case ShenandoahPhaseTimings::init_evac:
 126     case ShenandoahPhaseTimings::final_update_refs_roots:
 127     case ShenandoahPhaseTimings::degen_gc_update_roots:



 128     case ShenandoahPhaseTimings::full_gc_roots:
 129       return true;
 130     default:
 131       return false;
 132   }
 133 }
 134 
 135 ShenandoahAllocTrace::ShenandoahAllocTrace(size_t words_size, ShenandoahAllocRequest::Type alloc_type) {
 136   if (ShenandoahAllocationTrace) {
 137     _start = os::elapsedTime();
 138     _size = words_size;
 139     _alloc_type = alloc_type;
 140   } else {
 141     _start = 0;
 142     _size = 0;
 143     _alloc_type = ShenandoahAllocRequest::Type(0);
 144   }
 145 }
 146 
 147 ShenandoahAllocTrace::~ShenandoahAllocTrace() {




 108 
 109   _heap->phase_timings()->record_phase_start(_phase);
 110 }
 111 
 112 ShenandoahGCPhase::~ShenandoahGCPhase() {
 113   _heap->phase_timings()->record_phase_end(_phase);
 114   _current_phase = _parent_phase;
 115 }
 116 
 117 bool ShenandoahGCPhase::is_valid_phase(ShenandoahPhaseTimings::Phase phase) {
 118   return phase >= 0 && phase < ShenandoahPhaseTimings::_num_phases;
 119 }
 120 
 121 bool ShenandoahGCPhase::is_root_work_phase() {
 122   switch(current_phase()) {
 123     case ShenandoahPhaseTimings::scan_roots:
 124     case ShenandoahPhaseTimings::update_roots:
 125     case ShenandoahPhaseTimings::init_evac:
 126     case ShenandoahPhaseTimings::final_update_refs_roots:
 127     case ShenandoahPhaseTimings::degen_gc_update_roots:
 128     case ShenandoahPhaseTimings::init_traversal_gc_work:
 129     case ShenandoahPhaseTimings::final_traversal_gc_work:
 130     case ShenandoahPhaseTimings::final_traversal_update_roots:
 131     case ShenandoahPhaseTimings::full_gc_roots:
 132       return true;
 133     default:
 134       return false;
 135   }
 136 }
 137 
 138 ShenandoahAllocTrace::ShenandoahAllocTrace(size_t words_size, ShenandoahAllocRequest::Type alloc_type) {
 139   if (ShenandoahAllocationTrace) {
 140     _start = os::elapsedTime();
 141     _size = words_size;
 142     _alloc_type = alloc_type;
 143   } else {
 144     _start = 0;
 145     _size = 0;
 146     _alloc_type = ShenandoahAllocRequest::Type(0);
 147   }
 148 }
 149 
 150 ShenandoahAllocTrace::~ShenandoahAllocTrace() {


< prev index next >