< prev index next >

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

Print this page
rev 56194 : imported patch shenandoah


  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;
  60 
  61   bool is_a(BarrierSet::Name bsn);
  62 
  63   bool is_aligned(HeapWord* hw);




  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   BufferNode::Allocator _satb_mark_queue_buffer_allocator;
  45   ShenandoahSATBMarkQueueSet _satb_mark_queue_set;
  46 
  47 public:
  48   ShenandoahBarrierSet(ShenandoahHeap* heap);
  49 
  50   static ShenandoahBarrierSetAssembler* assembler();
  51 
  52   inline static ShenandoahBarrierSet* barrier_set() {
  53     return barrier_set_cast<ShenandoahBarrierSet>(BarrierSet::barrier_set());
  54   }
  55 
  56   static ShenandoahSATBMarkQueueSet& satb_mark_queue_set() {
  57     return barrier_set()->_satb_mark_queue_set;
  58   }
  59 
  60   void print_on(outputStream* st) const;
  61 
  62   bool is_a(BarrierSet::Name bsn);
  63 
  64   bool is_aligned(HeapWord* hw);


< prev index next >