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()
92 return new CardTable(std::move(mem_map), biased_begin, offset); in Create()
95 CardTable::CardTable(MemMap&& mem_map, uint8_t* biased_begin, size_t offset) in CardTable() function in art::gc::accounting::CardTable
99 CardTable::~CardTable() { in ~CardTable()
103 void CardTable::ClearCardTable() { in ClearCardTable()
108 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()
111 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.h47 class CardTable {
55 static CardTable* Create(const uint8_t* heap_begin, size_t heap_capacity);
56 ~CardTable();
146 CardTable(MemMap&& mem_map, uint8_t* biased_begin, size_t offset);
164 DISALLOW_IMPLICIT_CONSTRUCTORS(CardTable);
172 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.cc199 auto* obj1 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
201 auto* obj2 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
203 auto* obj3 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
205 auto* obj4 = AllocObjectArray(self, space, CardTable::kCardSize); in RunTest()
213 auto* other_space_ref1 = AllocObjectArray(self, other_space.get(), CardTable::kCardSize); in RunTest()
215 auto* other_space_ref2 = AllocObjectArray(self, other_space.get(), CardTable::kCardSize); in RunTest()
247 for (auto* ptr = space->Begin(); ptr < AlignUp(space->End(), CardTable::kCardSize); in RunTest()
248 ptr += CardTable::kCardSize) { in RunTest()
Dcard_table-inl.h55 inline size_t CardTable::Scan(ContinuousSpaceBitmap* bitmap, in Scan()
131 inline void CardTable::ModifyCardsAtomic(uint8_t* scan_begin, in ModifyCardsAtomic()
207 inline void* CardTable::AddrFromCard(const uint8_t *card_addr) const { in AddrFromCard()
216 inline uint8_t* CardTable::CardFromAddr(const void *addr) const { in CardFromAddr()
224 inline bool CardTable::IsValidCard(const uint8_t* card_addr) const { in IsValidCard()
230 inline void CardTable::CheckCardValid(uint8_t* card) const { in CheckCardValid()
Dbitmap.cc99 template class MemoryRangeBitmap<CardTable::kCardSize>;
Dmod_union_table.h57 typedef MemoryRangeBitmap<CardTable::kCardSize> CardBitmap;
/art/runtime/
Dwrite_barrier.h26 class CardTable; variable
57 ALWAYS_INLINE static gc::accounting::CardTable* GetCardTable();
Dwrite_barrier-inl.h50 inline gc::accounting::CardTable* WriteBarrier::GetCardTable() { in GetCardTable()
/art/runtime/gc/collector/
Dsticky_mark_sweep.cc60 RecursiveMarkDirtyObjects(false, accounting::CardTable::kCardDirty - 1); in MarkReachableObjects()
Dmark_sweep.cc197 RecursiveMarkDirtyObjects(true, accounting::CardTable::kCardDirty); in PausePhase()
244 RecursiveMarkDirtyObjects(false, accounting::CardTable::kCardDirty - 1); in PreCleanCards()
860 accounting::CardTable* card_table = mark_sweep_->GetHeap()->GetCardTable(); in Run()
881 accounting::CardTable* card_table = GetHeap()->GetCardTable(); in ScanGrayObjects()
908 card_end = AlignUp(card_end, accounting::CardTable::kCardSize); in ScanGrayObjects()
909 DCHECK_ALIGNED(card_begin, accounting::CardTable::kCardSize); in ScanGrayObjects()
910 DCHECK_ALIGNED(card_end, accounting::CardTable::kCardSize); in ScanGrayObjects()
915 accounting::CardTable::kCardSize); in ScanGrayObjects()
Dconcurrent_copying.cc717 if (heap_->GetCardTable()->GetCard(obj) == gc::accounting::CardTable::kCardClean) { in VerifyNoMissingCardMarks()
789 accounting::CardTable* const card_table = heap_->GetCardTable(); in GrayAllDirtyImmuneObjects()
813 return (card != gc::accounting::CardTable::kCardClean) in GrayAllDirtyImmuneObjects()
814 ? gc::accounting::CardTable::kCardAged in GrayAllDirtyImmuneObjects()
822 gc::accounting::CardTable::kCardAged); in GrayAllDirtyImmuneObjects()
829 accounting::CardTable* const card_table = heap_->GetCardTable(); in GrayAllNewlyDirtyImmuneObjects()
844 gc::accounting::CardTable::kCardDirty); in GrayAllNewlyDirtyImmuneObjects()
850 AlignDown(space->End(), accounting::CardTable::kCardSize)); in GrayAllNewlyDirtyImmuneObjects()
1317 accounting::CardTable* const card_table = heap_->GetCardTable(); in MarkingPhase()
1342 accounting::CardTable::kCardDirty - 1); in MarkingPhase()
[all …]
/art/runtime/gc/space/
Dmalloc_space.cc63 static const uintptr_t kGcCardSize = static_cast<uintptr_t>(accounting::CardTable::kCardSize); in MallocSpace()
188 DCHECK_ALIGNED(begin_, accounting::CardTable::kCardSize); in CreateZygoteSpace()
189 DCHECK_ALIGNED(End(), accounting::CardTable::kCardSize); in CreateZygoteSpace()
Dzygote_space.cc116 accounting::CardTable* card_table = Runtime::Current()->GetHeap()->GetCardTable(); in SweepCallback()
Dimage_space.cc878 RoundUp(image_objects.End(), gc::accounting::CardTable::kCardSize))); in Init()
/art/tools/cpp-define-generator/
Dglobals.def44 art::gc::accounting::CardTable::kCardShift)
/art/runtime/gc/
Dverification.cc72 accounting::CardTable* card_table = heap_->GetCardTable(); in DumpObjectInfo()
Dheap.h78 class CardTable; variable
522 accounting::CardTable* GetCardTable() const { in GetCardTable()
1216 std::unique_ptr<accounting::CardTable> card_table_;
Dheap.cc593 card_table_.reset(accounting::CardTable::Create(reinterpret_cast<uint8_t*>(kMinHeapAddress), in Heap()
3006 accounting::CardTable* card_table = heap_->GetCardTable(); in VerifyReference()
3042 accounting::CardTable::kCardSize); in VerifyReference()
3074 byte_cover_begin + accounting::CardTable::kCardSize, scan_visitor); in VerifyReference()
3220 accounting::CardTable* card_table = heap_->GetCardTable(); in operator ()()
3393 end = AlignUp(end, accounting::CardTable::kCardSize); in ProcessCards()
/art/compiler/optimizing/
Dcode_generator_arm64.cc1182 __ Lsr(temp, object, gc::accounting::CardTable::kCardShift); in MarkGCCard()
Dcode_generator_mips64.cc1499 __ Dsrl(temp, object, gc::accounting::CardTable::kCardShift); in MarkGCCard()
Dcode_generator_x86_64.cc5492 __ shrq(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()
Dcode_generator_x86.cc5134 __ shrl(temp, Immediate(gc::accounting::CardTable::kCardShift)); in MarkGCCard()

12