< prev index next >

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

Print this page
rev 11462 : Backport per-region seqnum tracking
rev 11463 : Backport Traversal GC


  83   fatal(ss.as_string());
  84 }
  85 
  86 void ShenandoahHeapRegion::make_regular_allocation() {
  87   _heap->assert_heaplock_owned_by_current_thread();
  88   switch (_state) {
  89     case _empty_uncommitted:
  90       do_commit();
  91     case _empty_committed:
  92       _state = _regular;
  93     case _regular:
  94     case _pinned:
  95       return;
  96     default:
  97       report_illegal_transition("regular allocation");
  98   }
  99 }
 100 
 101 void ShenandoahHeapRegion::make_regular_bypass() {
 102   _heap->assert_heaplock_owned_by_current_thread();
 103   assert (_heap->is_full_gc_in_progress(), "only for full GC");

 104 
 105   switch (_state) {
 106     case _empty_uncommitted:
 107       do_commit();
 108     case _empty_committed:
 109     case _cset:
 110     case _humongous_start:
 111     case _humongous_cont:
 112       _state = _regular;
 113       return;
 114     case _pinned_cset:
 115       _state = _pinned;
 116       return;
 117     case _regular:
 118     case _pinned:
 119       return;
 120     default:
 121       report_illegal_transition("regular bypass");
 122   }
 123 }




  83   fatal(ss.as_string());
  84 }
  85 
  86 void ShenandoahHeapRegion::make_regular_allocation() {
  87   _heap->assert_heaplock_owned_by_current_thread();
  88   switch (_state) {
  89     case _empty_uncommitted:
  90       do_commit();
  91     case _empty_committed:
  92       _state = _regular;
  93     case _regular:
  94     case _pinned:
  95       return;
  96     default:
  97       report_illegal_transition("regular allocation");
  98   }
  99 }
 100 
 101 void ShenandoahHeapRegion::make_regular_bypass() {
 102   _heap->assert_heaplock_owned_by_current_thread();
 103   assert (_heap->is_full_gc_in_progress() || _heap->is_degenerated_gc_in_progress(),
 104           "only for full or degen GC");
 105 
 106   switch (_state) {
 107     case _empty_uncommitted:
 108       do_commit();
 109     case _empty_committed:
 110     case _cset:
 111     case _humongous_start:
 112     case _humongous_cont:
 113       _state = _regular;
 114       return;
 115     case _pinned_cset:
 116       _state = _pinned;
 117       return;
 118     case _regular:
 119     case _pinned:
 120       return;
 121     default:
 122       report_illegal_transition("regular bypass");
 123   }
 124 }


< prev index next >