src/hotspot/share/gc/shared/cardTableBarrierSet.cpp
changeset 49906 4bb58f644e4e
parent 49734 f946776e9354
child 49972 37b2446d7f86
equal deleted inserted replaced
49905:a09af8ef8e5c 49906:4bb58f644e4e
    32 #include "oops/oop.inline.hpp"
    32 #include "oops/oop.inline.hpp"
    33 #include "runtime/thread.hpp"
    33 #include "runtime/thread.hpp"
    34 #include "services/memTracker.hpp"
    34 #include "services/memTracker.hpp"
    35 #include "utilities/align.hpp"
    35 #include "utilities/align.hpp"
    36 #include "utilities/macros.hpp"
    36 #include "utilities/macros.hpp"
       
    37 #ifdef COMPILER1
       
    38 #include "gc/shared/c1/cardTableBarrierSetC1.hpp"
       
    39 #endif
       
    40 
       
    41 class CardTableBarrierSetC1;
    37 
    42 
    38 // This kind of "BarrierSet" allows a "CollectedHeap" to detect and
    43 // This kind of "BarrierSet" allows a "CollectedHeap" to detect and
    39 // enumerate ref fields that have been modified (since the last
    44 // enumerate ref fields that have been modified (since the last
    40 // enumeration.)
    45 // enumeration.)
    41 
    46 
    42 CardTableBarrierSet::CardTableBarrierSet(BarrierSetAssembler* barrier_set_assembler,
    47 CardTableBarrierSet::CardTableBarrierSet(BarrierSetAssembler* barrier_set_assembler,
       
    48                                          BarrierSetC1* barrier_set_c1,
    43                                          CardTable* card_table,
    49                                          CardTable* card_table,
    44                                          const BarrierSet::FakeRtti& fake_rtti) :
    50                                          const BarrierSet::FakeRtti& fake_rtti) :
    45   ModRefBarrierSet(barrier_set_assembler,
    51   ModRefBarrierSet(barrier_set_assembler,
       
    52                    barrier_set_c1,
    46                    fake_rtti.add_tag(BarrierSet::CardTableBarrierSet)),
    53                    fake_rtti.add_tag(BarrierSet::CardTableBarrierSet)),
    47   _defer_initial_card_mark(false),
    54   _defer_initial_card_mark(false),
    48   _card_table(card_table)
    55   _card_table(card_table)
    49 {}
    56 {}
    50 
    57 
    51 CardTableBarrierSet::CardTableBarrierSet(CardTable* card_table) :
    58 CardTableBarrierSet::CardTableBarrierSet(CardTable* card_table) :
    52   ModRefBarrierSet(make_barrier_set_assembler<CardTableBarrierSetAssembler>(),
    59   ModRefBarrierSet(make_barrier_set_assembler<CardTableBarrierSetAssembler>(),
       
    60                    make_barrier_set_c1<CardTableBarrierSetC1>(),
    53                    BarrierSet::FakeRtti(BarrierSet::CardTableBarrierSet)),
    61                    BarrierSet::FakeRtti(BarrierSet::CardTableBarrierSet)),
    54   _defer_initial_card_mark(false),
    62   _defer_initial_card_mark(false),
    55   _card_table(card_table)
    63   _card_table(card_table)
    56 {}
    64 {}
    57 
    65