Home
last modified time | relevance | path

Searched refs:CardTable (Results 1 – 25 of 27) sorted by relevance

12

/art/runtime/gc/accounting/
Dcard_table.cc34 constexpr size_t CardTable::kCardShift;
35 constexpr size_t CardTable::kCardSize;
36 constexpr uint8_t CardTable::kCardClean;
37 constexpr uint8_t CardTable::kCardDirty;
61 CardTable* CardTable::Create(const uint8_t* heap_begin, size_t heap_capacity) { in Create()
90 return new CardTable(mem_map.release(), biased_begin, offset); in Create()
93 CardTable::CardTable(MemMap* mem_map, uint8_t* biased_begin, size_t offset) in CardTable() function in art::gc::accounting::CardTable
97 CardTable::~CardTable() { in ~CardTable()
101 void CardTable::ClearCardTable() { in ClearCardTable()
106 void CardTable::ClearCardRange(uint8_t* start, uint8_t* end) { in ClearCardRange()
[all …]
Dcard_table_test.cc41 std::unique_ptr<CardTable> card_table_;
45 card_table_.reset(CardTable::Create(heap_begin_, heap_size_)); in CommonSetup()
65 size_t offset = RoundDown(addr - heap_begin_, CardTable::kCardSize); in PseudoRandomCard()
69 for (const uint8_t* addr = HeapBegin(); addr != HeapLimit(); addr += CardTable::kCardSize) { in FillRandom()
85 EXPECT_EQ(card_table_->GetCard(obj), CardTable::kCardClean); in TEST_F()
89 EXPECT_EQ(card_table_->GetCard(obj), CardTable::kCardDirty); in TEST_F()
91 EXPECT_EQ(*card_addr, CardTable::kCardDirty); in TEST_F()
92 *card_addr = CardTable::kCardClean; in TEST_F()
93 EXPECT_EQ(*card_addr, CardTable::kCardClean); in TEST_F()
110 8U * CardTable::kCardSize); in TEST_F()
[all …]
Dmod_union_table.cc47 if (expected_value == CardTable::kCardDirty) { in operator ()()
58 ModUnionAddToCardBitmapVisitor(ModUnionTable::CardBitmap* bitmap, CardTable* card_table) in ModUnionAddToCardBitmapVisitor()
64 if (expected_value == CardTable::kCardDirty) { in operator ()()
72 CardTable* const card_table_;
82 if (expected_card == CardTable::kCardDirty) { in operator ()()
175 CardTable* card_table = GetHeap()->GetCardTable(); in ProcessCards()
351 CardTable* card_table = heap_->GetCardTable(); in Verify()
355 if (*card == CardTable::kCardClean) { in Verify()
362 live_bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, visitor); in Verify()
368 CardTable* card_table = heap_->GetCardTable(); in Dump()
[all …]
Dcard_table.h48 class CardTable {
56 static CardTable* Create(const uint8_t* heap_begin, size_t heap_capacity);
57 ~CardTable();
136 CardTable(MemMap* begin, uint8_t* biased_begin, size_t offset);
154 DISALLOW_IMPLICIT_CONSTRUCTORS(CardTable);
162 return (card == accounting::CardTable::kCardDirty) ? card - 1 : 0; in operator()
Dremembered_set.cc46 if (expected_value == CardTable::kCardDirty) { in operator ()()
56 CardTable* card_table = GetHeap()->GetCardTable(); in ClearCards()
136 CardTable* card_table = heap_->GetCardTable(); in UpdateAndMarkReferences()
146 bitmap->VisitMarkedRange(start, start + CardTable::kCardSize, obj_visitor); in UpdateAndMarkReferences()
165 CardTable* card_table = heap_->GetCardTable(); in Dump()
169 auto end = start + CardTable::kCardSize; in Dump()
176 CardTable* card_table = heap_->GetCardTable(); in AssertAllDirtyCardsAreWithinSpace()
179 auto end = start + CardTable::kCardSize; in AssertAllDirtyCardsAreWithinSpace()
Dmod_union_table_test.cc198 auto* obj1 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
200 auto* obj2 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
202 auto* obj3 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
204 auto* obj4 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
212 auto* other_space_ref1 = AllocObjectArray(self, other_space.get(), CardTable::kCardSize); in RunTest()
214 auto* other_space_ref2 = AllocObjectArray(self, other_space.get(), CardTable::kCardSize); in RunTest()
246 for (auto* ptr = space->Begin(); ptr < AlignUp(space->End(), CardTable::kCardSize); in RunTest()
247 ptr += CardTable::kCardSize) { in RunTest()
Dcard_table-inl.h55 inline size_t CardTable::Scan(ContinuousSpaceBitmap* bitmap, in Scan()
139 inline void CardTable::ModifyCardsAtomic(uint8_t* scan_begin, in ModifyCardsAtomic()
213 inline void* CardTable::AddrFromCard(const uint8_t *card_addr) const { in AddrFromCard()
222 inline uint8_t* CardTable::CardFromAddr(const void *addr) const { in CardFromAddr()
230 inline bool CardTable::IsValidCard(const uint8_t* card_addr) const { in IsValidCard()
236 inline void CardTable::CheckCardValid(uint8_t* card) const { in CheckCardValid()
Dbitmap.cc96 template class MemoryRangeBitmap<CardTable::kCardSize>;
Dmod_union_table.h57 typedef MemoryRangeBitmap<CardTable::kCardSize> CardBitmap;
/art/runtime/gc/collector/
Dsticky_mark_sweep.cc60 RecursiveMarkDirtyObjects(false, accounting::CardTable::kCardDirty - 1); in MarkReachableObjects()
Dmark_sweep.cc195 RecursiveMarkDirtyObjects(true, accounting::CardTable::kCardDirty); in PausePhase()
242 RecursiveMarkDirtyObjects(false, accounting::CardTable::kCardDirty - 1); in PreCleanCards()
858 accounting::CardTable* card_table = mark_sweep_->GetHeap()->GetCardTable(); in Run()
879 accounting::CardTable* card_table = GetHeap()->GetCardTable(); in ScanGrayObjects()
906 card_end = AlignUp(card_end, accounting::CardTable::kCardSize); in ScanGrayObjects()
907 DCHECK_ALIGNED(card_begin, accounting::CardTable::kCardSize); in ScanGrayObjects()
908 DCHECK_ALIGNED(card_end, accounting::CardTable::kCardSize); in ScanGrayObjects()
913 accounting::CardTable::kCardSize); in ScanGrayObjects()
Dconcurrent_copying.cc593 if (heap_->GetCardTable()->GetCard(obj) == gc::accounting::CardTable::kCardClean) { in VerifyNoMissingCardMarks()
665 accounting::CardTable* const card_table = heap_->GetCardTable(); in GrayAllDirtyImmuneObjects()
689 return (card != gc::accounting::CardTable::kCardClean) in GrayAllDirtyImmuneObjects()
690 ? gc::accounting::CardTable::kCardAged in GrayAllDirtyImmuneObjects()
698 gc::accounting::CardTable::kCardAged); in GrayAllDirtyImmuneObjects()
705 accounting::CardTable* const card_table = heap_->GetCardTable(); in GrayAllNewlyDirtyImmuneObjects()
720 gc::accounting::CardTable::kCardDirty); in GrayAllNewlyDirtyImmuneObjects()
726 AlignDown(space->End(), accounting::CardTable::kCardSize)); in GrayAllNewlyDirtyImmuneObjects()
/art/runtime/gc/space/
Dmalloc_space.cc53 static const uintptr_t kGcCardSize = static_cast<uintptr_t>(accounting::CardTable::kCardSize); in MallocSpace()
172 DCHECK_ALIGNED(begin_, accounting::CardTable::kCardSize); in CreateZygoteSpace()
173 DCHECK_ALIGNED(End(), accounting::CardTable::kCardSize); in CreateZygoteSpace()
Dzygote_space.cc111 accounting::CardTable* card_table = Runtime::Current()->GetHeap()->GetCardTable(); in SweepCallback()
Dimage_space.cc692 RoundUp(image_objects.End(), gc::accounting::CardTable::kCardSize))); in Init()
/art/tools/cpp-define-generator/
Dconstant_card_table.def24 DEFINE_EXPR(CARD_TABLE_CARD_SHIFT, size_t, art::gc::accounting::CardTable::kCardShift)
Doffset_thread.def33 DEFINE_THREAD_OFFSET(CARD_TABLE, CardTable)
/art/runtime/gc/
Dverification.cc71 accounting::CardTable* card_table = heap_->GetCardTable(); in DumpObjectInfo()
Dheap.h77 class CardTable; variable
487 accounting::CardTable* GetCardTable() const { in GetCardTable()
1123 std::unique_ptr<accounting::CardTable> card_table_;
Dheap.cc524 card_table_.reset(accounting::CardTable::Create(reinterpret_cast<uint8_t*>(kMinHeapAddress), in Heap()
2816 accounting::CardTable* card_table = heap_->GetCardTable(); in VerifyReference()
2852 accounting::CardTable::kCardSize); in VerifyReference()
2884 byte_cover_begin + accounting::CardTable::kCardSize, scan_visitor); in VerifyReference()
3027 accounting::CardTable* card_table = heap_->GetCardTable(); in operator ()()
3200 end = AlignUp(end, accounting::CardTable::kCardSize); in ProcessCards()
/art/runtime/generated/
Dasm_support_gen.h88 …<size_t>(CARD_TABLE_CARD_SHIFT), (static_cast<size_t>(art::gc::accounting::CardTable::kCardShift)))
/art/compiler/optimizing/
Dcode_generator_arm64.cc1604 __ Lsr(temp, object, gc::accounting::CardTable::kCardShift); in MarkGCCard()
Dcode_generator_mips64.cc1489 __ Dsrl(temp, object, gc::accounting::CardTable::kCardShift); in MarkGCCard()
Dcode_generator_x86_64.cc5136 __ shrq(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()
Dcode_generator_x86.cc4712 __ shrl(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()

12