< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahThreadLocalData.hpp

Print this page

        

*** 38,61 **** public: static const uint INVALID_WORKER_ID = uint(-1); private: char _gc_state; - // Evacuation OOM state - uint8_t _oom_scope_nesting_level; - bool _oom_during_evac; ShenandoahSATBMarkQueue _satb_mark_queue; PLAB* _gclab; size_t _gclab_size; uint _worker_id; bool _force_satb_flush; int _disarmed_value; ShenandoahThreadLocalData() : _gc_state(0), - _oom_scope_nesting_level(0), - _oom_during_evac(false), _satb_mark_queue(&ShenandoahBarrierSet::satb_mark_queue_set()), _gclab(NULL), _gclab_size(0), _worker_id(INVALID_WORKER_ID), _force_satb_flush(false), --- 38,56 ----
*** 141,183 **** static void set_disarmed_value(Thread* thread, int value) { data(thread)->_disarmed_value = value; } - // Evacuation OOM handling - static bool is_oom_during_evac(Thread* thread) { - return data(thread)->_oom_during_evac; - } - - static void set_oom_during_evac(Thread* thread, bool oom) { - data(thread)->_oom_during_evac = oom; - } - - static uint8_t evac_oom_scope_level(Thread* thread) { - return data(thread)->_oom_scope_nesting_level; - } - - // Push the scope one level deeper, return previous level - static uint8_t push_evac_oom_scope(Thread* thread) { - uint8_t level = evac_oom_scope_level(thread); - assert(level < 254, "Overflow nesting level"); // UINT8_MAX = 255 - data(thread)->_oom_scope_nesting_level = level + 1; - return level; - } - - // Pop the scope by one level, return previous level - static uint8_t pop_evac_oom_scope(Thread* thread) { - uint8_t level = evac_oom_scope_level(thread); - assert(level > 0, "Underflow nesting level"); - data(thread)->_oom_scope_nesting_level = level - 1; - return level; - } - - static bool is_evac_allowed(Thread* thread) { - return evac_oom_scope_level(thread) > 0; - } - // Offsets static ByteSize satb_mark_queue_active_offset() { return satb_mark_queue_offset() + SATBMarkQueue::byte_offset_of_active(); } --- 136,145 ----
< prev index next >