Skip to content

Commit 96cdf93

Browse files
committed
8306833: Change CardTable::_covered to static array
Reviewed-by: tschatzl, kbarrett
1 parent 1be80a4 commit 96cdf93

File tree

4 files changed

+8
-12
lines changed

4 files changed

+8
-12
lines changed

src/hotspot/share/gc/shared/cardTable.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff 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-
8883
void CardTable::initialize(void* region0_start, void* region1_start) {
8984
size_t num_cards = cards_required(_whole_heap.word_size());
9085

src/hotspot/share/gc/shared/cardTable.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff 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+
8586
private:
8687
void initialize_covered_region(void* region0_start, void* region1_start);
8788

8889
MemRegion committed_for(const MemRegion mr) const;
8990
public:
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.

src/hotspot/share/gc/shared/cardTableBarrierSet.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff 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

src/hotspot/share/gc/shared/vmStructs_gc.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,9 @@
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
\

0 commit comments

Comments
 (0)