< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
Print this page
rev 54386 : 8221766: Load-reference barriers for Shenandoah
*** 268,287 ****
// Important invariant: when GC state is zero, the heap is stable, and no barriers
// are required.
//
public:
enum GCStateBitPos {
! // Heap has forwarded objects: need RB, ACMP, CAS barriers.
HAS_FORWARDED_BITPOS = 0,
// Heap is under marking: needs SATB barriers.
MARKING_BITPOS = 1,
! // Heap is under evacuation: needs WB barriers. (Set together with UNSTABLE)
EVACUATION_BITPOS = 2,
! // Heap is under updating: needs SVRB/SVWB barriers.
UPDATEREFS_BITPOS = 3,
// Heap is under traversal collection
TRAVERSAL_BITPOS = 4,
};
--- 268,287 ----
// Important invariant: when GC state is zero, the heap is stable, and no barriers
// are required.
//
public:
enum GCStateBitPos {
! // Heap has forwarded objects: needs LRB barriers.
HAS_FORWARDED_BITPOS = 0,
// Heap is under marking: needs SATB barriers.
MARKING_BITPOS = 1,
! // Heap is under evacuation: needs LRB barriers. (Set together with HAS_FORWARDED)
EVACUATION_BITPOS = 2,
! // Heap is under updating: needs no additional barriers.
UPDATEREFS_BITPOS = 3,
// Heap is under traversal collection
TRAVERSAL_BITPOS = 4,
};
< prev index next >