< prev index next >

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

Print this page
rev 55008 : 8224667: Shenandoah: Post-LRB cleanup


  18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  19  * or visit www.oracle.com if you need additional information or have any
  20  * questions.
  21  *
  22  */
  23 
  24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
  25 #define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
  26 
  27 #include "gc/shared/accessBarrierSupport.hpp"
  28 #include "gc/shared/barrierSet.hpp"
  29 #include "gc/shenandoah/shenandoahHeap.hpp"
  30 #include "gc/shenandoah/shenandoahSATBMarkQueueSet.hpp"
  31 
  32 class ShenandoahBarrierSetAssembler;
  33 
  34 class ShenandoahBarrierSet: public BarrierSet {
  35 public:
  36   enum ArrayCopyStoreValMode {
  37     NONE,
  38     READ_BARRIER,
  39     WRITE_BARRIER
  40   };
  41 private:
  42 
  43   ShenandoahHeap* _heap;
  44   ShenandoahSATBMarkQueueSet _satb_mark_queue_set;
  45 
  46 public:
  47   ShenandoahBarrierSet(ShenandoahHeap* heap);
  48 
  49   static ShenandoahBarrierSetAssembler* assembler();
  50 
  51   inline static ShenandoahBarrierSet* barrier_set() {
  52     return barrier_set_cast<ShenandoahBarrierSet>(BarrierSet::barrier_set());
  53   }
  54 
  55   static ShenandoahSATBMarkQueueSet& satb_mark_queue_set() {
  56     return barrier_set()->_satb_mark_queue_set;
  57   }
  58 
  59   void print_on(outputStream* st) const;




  18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  19  * or visit www.oracle.com if you need additional information or have any
  20  * questions.
  21  *
  22  */
  23 
  24 #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
  25 #define SHARE_GC_SHENANDOAH_SHENANDOAHBARRIERSET_HPP
  26 
  27 #include "gc/shared/accessBarrierSupport.hpp"
  28 #include "gc/shared/barrierSet.hpp"
  29 #include "gc/shenandoah/shenandoahHeap.hpp"
  30 #include "gc/shenandoah/shenandoahSATBMarkQueueSet.hpp"
  31 
  32 class ShenandoahBarrierSetAssembler;
  33 
  34 class ShenandoahBarrierSet: public BarrierSet {
  35 public:
  36   enum ArrayCopyStoreValMode {
  37     NONE,
  38     RESOLVE_BARRIER,
  39     EVAC_BARRIER
  40   };
  41 private:
  42 
  43   ShenandoahHeap* _heap;
  44   ShenandoahSATBMarkQueueSet _satb_mark_queue_set;
  45 
  46 public:
  47   ShenandoahBarrierSet(ShenandoahHeap* heap);
  48 
  49   static ShenandoahBarrierSetAssembler* assembler();
  50 
  51   inline static ShenandoahBarrierSet* barrier_set() {
  52     return barrier_set_cast<ShenandoahBarrierSet>(BarrierSet::barrier_set());
  53   }
  54 
  55   static ShenandoahSATBMarkQueueSet& satb_mark_queue_set() {
  56     return barrier_set()->_satb_mark_queue_set;
  57   }
  58 
  59   void print_on(outputStream* st) const;


< prev index next >