src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
changeset 54423 6c0ab8bd8da5
parent 54388 a1acc800c87a
child 54478 cdc54443fee5
equal deleted inserted replaced
54422:f562f8318ebd 54423:6c0ab8bd8da5
   268 // Important invariant: when GC state is zero, the heap is stable, and no barriers
   268 // Important invariant: when GC state is zero, the heap is stable, and no barriers
   269 // are required.
   269 // are required.
   270 //
   270 //
   271 public:
   271 public:
   272   enum GCStateBitPos {
   272   enum GCStateBitPos {
   273     // Heap has forwarded objects: need RB, ACMP, CAS barriers.
   273     // Heap has forwarded objects: needs LRB barriers.
   274     HAS_FORWARDED_BITPOS   = 0,
   274     HAS_FORWARDED_BITPOS   = 0,
   275 
   275 
   276     // Heap is under marking: needs SATB barriers.
   276     // Heap is under marking: needs SATB barriers.
   277     MARKING_BITPOS    = 1,
   277     MARKING_BITPOS    = 1,
   278 
   278 
   279     // Heap is under evacuation: needs WB barriers. (Set together with UNSTABLE)
   279     // Heap is under evacuation: needs LRB barriers. (Set together with HAS_FORWARDED)
   280     EVACUATION_BITPOS = 2,
   280     EVACUATION_BITPOS = 2,
   281 
   281 
   282     // Heap is under updating: needs SVRB/SVWB barriers.
   282     // Heap is under updating: needs no additional barriers.
   283     UPDATEREFS_BITPOS = 3,
   283     UPDATEREFS_BITPOS = 3,
   284 
   284 
   285     // Heap is under traversal collection
   285     // Heap is under traversal collection
   286     TRAVERSAL_BITPOS  = 4,
   286     TRAVERSAL_BITPOS  = 4,
   287   };
   287   };