< prev index next >

src/hotspot/share/gc/g1/g1BarrierSet.hpp

Print this page

        

@@ -23,10 +23,12 @@
  */
 
 #ifndef SHARE_VM_GC_G1_G1BARRIERSET_HPP
 #define SHARE_VM_GC_G1_G1BARRIERSET_HPP
 
+#include "gc/g1/dirtyCardQueue.hpp"
+#include "gc/g1/satbMarkQueue.hpp"
 #include "gc/shared/cardTableBarrierSet.hpp"
 
 class DirtyCardQueueSet;
 class CardTable;
 class G1CardTable;

@@ -35,11 +37,12 @@
 // snapshot-at-the-beginning marking.
 
 class G1BarrierSet: public CardTableBarrierSet {
   friend class VMStructs;
  private:
-  DirtyCardQueueSet& _dcqs;
+  static SATBMarkQueueSet  _satb_mark_queue_set;
+  static DirtyCardQueueSet _dirty_card_queue_set;
 
  public:
   G1BarrierSet(G1CardTable* table);
   ~G1BarrierSet() { }
 

@@ -72,10 +75,18 @@
   void write_ref_field_post_slow(volatile jbyte* byte);
 
   virtual void on_thread_attach(JavaThread* thread);
   virtual void on_thread_detach(JavaThread* thread);
 
+  static SATBMarkQueueSet& satb_mark_queue_set() {
+    return _satb_mark_queue_set;
+  }
+
+  static DirtyCardQueueSet& dirty_card_queue_set() {
+    return _dirty_card_queue_set;
+  }
+
   // Callbacks for runtime accesses.
   template <DecoratorSet decorators, typename BarrierSetT = G1BarrierSet>
   class AccessBarrier: public ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> {
     typedef ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT> ModRef;
     typedef BarrierSet::AccessBarrier<decorators, BarrierSetT> Raw;
< prev index next >