File tree Expand file tree Collapse file tree 4 files changed +8
-12
lines changed
src/hotspot/share/gc/shared Expand file tree Collapse file tree 4 files changed +8
-12
lines changed Original file line number Diff line number Diff line change @@ -74,17 +74,12 @@ CardTable::CardTable(MemRegion whole_heap) :
7474 _byte_map_size(0 ),
7575 _byte_map(nullptr ),
7676 _byte_map_base(nullptr ),
77- _covered(MemRegion::create_array(max_covered_regions, mtGC)),
7877 _guard_region()
7978{
8079 assert ((uintptr_t (_whole_heap.start ()) & (_card_size - 1 )) == 0 , " heap must start at card boundary" );
8180 assert ((uintptr_t (_whole_heap.end ()) & (_card_size - 1 )) == 0 , " heap must end at card boundary" );
8281}
8382
84- CardTable::~CardTable () {
85- MemRegion::destroy_array (_covered, max_covered_regions);
86- }
87-
8883void CardTable::initialize (void * region0_start, void * region1_start) {
8984 size_t num_cards = cards_required (_whole_heap.word_size ());
9085
Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ class CardTable: public CHeapObj<mtGC> {
5757 static constexpr int max_covered_regions = 2 ;
5858
5959 // The covered regions should be in address order.
60- MemRegion* _covered;
60+ MemRegion _covered[max_covered_regions] ;
6161
6262 // The last card is a guard card; never committed.
6363 MemRegion _guard_region;
@@ -82,13 +82,15 @@ class CardTable: public CHeapObj<mtGC> {
8282 size_t last_valid_index () const {
8383 return cards_required (_whole_heap.word_size ()) - 1 ;
8484 }
85+
8586private:
8687 void initialize_covered_region (void * region0_start, void * region1_start);
8788
8889 MemRegion committed_for (const MemRegion mr) const ;
8990public:
9091 CardTable (MemRegion whole_heap);
91- virtual ~CardTable ();
92+ virtual ~CardTable () = default ;
93+
9294 void initialize (void * region0_start, void * region1_start);
9395
9496 // *** Barrier set functions.
Original file line number Diff line number Diff line change @@ -60,9 +60,9 @@ class CardTableBarrierSet: public ModRefBarrierSet {
6060 CardTable* card_table,
6161 const BarrierSet::FakeRtti& fake_rtti);
6262
63- public:
63+ public:
6464 CardTableBarrierSet (CardTable* card_table);
65- ~CardTableBarrierSet ();
65+ virtual ~CardTableBarrierSet ();
6666
6767 CardTable* card_table () const { return _card_table; }
6868
Original file line number Diff line number Diff line change 8989 nonstatic_field(CardTable, _whole_heap, const MemRegion) \
9090 nonstatic_field(CardTable, _page_size, const size_t ) \
9191 nonstatic_field(CardTable, _byte_map_size, const size_t ) \
92- nonstatic_field(CardTable, _byte_map, CardTable::CardValue*) \
93- nonstatic_field(CardTable, _covered, MemRegion*) \
92+ nonstatic_field(CardTable, _byte_map, CardTable::CardValue*) \
9493 nonstatic_field(CardTable, _guard_region, MemRegion) \
95- nonstatic_field(CardTable, _byte_map_base, CardTable::CardValue*) \
94+ nonstatic_field(CardTable, _byte_map_base, CardTable::CardValue*) \
9695 nonstatic_field(CardTableBarrierSet, _defer_initial_card_mark, bool ) \
9796 nonstatic_field(CardTableBarrierSet, _card_table, CardTable*) \
9897 \
You can’t perform that action at this time.
0 commit comments