src/hotspot/share/gc/g1/g1BarrierSet.hpp
changeset 53747 13acc8e38a29
parent 53244 9807daeb47c4
child 54006 a421bdf22394
equal deleted inserted replaced
53746:bdccafc038a2 53747:13acc8e38a29
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_GC_G1_G1BARRIERSET_HPP
    25 #ifndef SHARE_GC_G1_G1BARRIERSET_HPP
    26 #define SHARE_GC_G1_G1BARRIERSET_HPP
    26 #define SHARE_GC_G1_G1BARRIERSET_HPP
    27 
    27 
    28 #include "gc/g1/dirtyCardQueue.hpp"
    28 #include "gc/g1/g1DirtyCardQueue.hpp"
    29 #include "gc/g1/g1SATBMarkQueueSet.hpp"
    29 #include "gc/g1/g1SATBMarkQueueSet.hpp"
    30 #include "gc/shared/cardTableBarrierSet.hpp"
    30 #include "gc/shared/cardTableBarrierSet.hpp"
    31 
    31 
    32 class DirtyCardQueueSet;
       
    33 class CardTable;
    32 class CardTable;
    34 class G1CardTable;
    33 class G1CardTable;
    35 
    34 
    36 // This barrier is specialized to use a logging barrier to support
    35 // This barrier is specialized to use a logging barrier to support
    37 // snapshot-at-the-beginning marking.
    36 // snapshot-at-the-beginning marking.
    40   friend class VMStructs;
    39   friend class VMStructs;
    41  private:
    40  private:
    42   BufferNode::Allocator _satb_mark_queue_buffer_allocator;
    41   BufferNode::Allocator _satb_mark_queue_buffer_allocator;
    43   BufferNode::Allocator _dirty_card_queue_buffer_allocator;
    42   BufferNode::Allocator _dirty_card_queue_buffer_allocator;
    44   G1SATBMarkQueueSet _satb_mark_queue_set;
    43   G1SATBMarkQueueSet _satb_mark_queue_set;
    45   DirtyCardQueueSet _dirty_card_queue_set;
    44   G1DirtyCardQueueSet _dirty_card_queue_set;
    46 
    45 
    47   static G1BarrierSet* g1_barrier_set() {
    46   static G1BarrierSet* g1_barrier_set() {
    48     return barrier_set_cast<G1BarrierSet>(BarrierSet::barrier_set());
    47     return barrier_set_cast<G1BarrierSet>(BarrierSet::barrier_set());
    49   }
    48   }
    50 
    49 
    86 
    85 
    87   static G1SATBMarkQueueSet& satb_mark_queue_set() {
    86   static G1SATBMarkQueueSet& satb_mark_queue_set() {
    88     return g1_barrier_set()->_satb_mark_queue_set;
    87     return g1_barrier_set()->_satb_mark_queue_set;
    89   }
    88   }
    90 
    89 
    91   static DirtyCardQueueSet& dirty_card_queue_set() {
    90   static G1DirtyCardQueueSet& dirty_card_queue_set() {
    92     return g1_barrier_set()->_dirty_card_queue_set;
    91     return g1_barrier_set()->_dirty_card_queue_set;
    93   }
    92   }
    94 
    93 
    95   // Callbacks for runtime accesses.
    94   // Callbacks for runtime accesses.
    96   template <DecoratorSet decorators, typename BarrierSetT = G1BarrierSet>
    95   template <DecoratorSet decorators, typename BarrierSetT = G1BarrierSet>