Searched refs:card (Results 1 - 15 of 15) sorted by relevance

/art/runtime/gc/accounting/
H A Dcard_table-inl.h90 // Find the first dirty card.
97 auto* card = reinterpret_cast<uint8_t*>(word_cur) + i; local
98 DCHECK(*card == static_cast<uint8_t>(start_word) || *card == kCardDirty)
99 << "card " << static_cast<size_t>(*card) << " intptr_t " << (start_word & 0xFF);
103 *card = 0;
130 * Visitor is expected to take in a card and return the new value. When a value is modified, the
132 * visitor: The visitor which modifies the cards. Returns the new value for a card given an old
134 * modified: Whenever the visitor modifies a card, thi
[all...]
H A Dcard_table_test.cc63 // Return a pseudo random card for an address.
71 uint8_t* card = card_table_->CardFromAddr(addr); local
72 *card = PseudoRandomCard(addr);
102 void operator()(uint8_t* /*card*/, uint8_t /*expected_value*/, uint8_t /*new_value*/) const {
117 // Don't always start at a card boundary.
137 uint8_t* card = card_table_->CardFromAddr(cur); local
139 EXPECT_EQ(visitor(value), *card); local
141 *card = value;
H A Dmod_union_table.cc49 inline void operator()(uint8_t* card, uint8_t expected_value, argument
52 cleared_cards_->insert(card);
67 inline void operator()(uint8_t* card, uint8_t expected_value, argument
70 // We want the address the card represents, not the address of the card.
71 bitmap_->Set(reinterpret_cast<uintptr_t>(card_table_->AddrFromCard(card)));
86 void operator()(uint8_t* card, uint8_t expected_card, uint8_t new_card ATTRIBUTE_UNUSED) const { argument
88 cleared_cards_->push_back(card);
270 // Check the references of each clean card which is also in the mod union table.
274 const uint8_t* card local
[all...]
H A Dremembered_set.cc44 void operator()(uint8_t* card, uint8_t expected_value, uint8_t new_value) const { argument
47 dirty_cards_->insert(card);
58 // Clear dirty cards in the space and insert them into the dirty card set.
138 // It was in the dirty card set, but it didn't actually contain
140 // card set so we won't have to scan it again (unless it gets
147 // space from the dirty card set.
H A Dcard_table.h45 // Maintain a card table from the the write barrier. All writes of
58 // Set the card associated with the given address to GC_CARD_DIRTY.
63 // Is the object on a dirty card?
68 // Return the state of the card at an address.
87 // card table byte. For convenience this value is cached in every Thread
93 * Visitor is expected to take in a card and return the new value. When a value is modified, the
95 * visitor: The visitor which modifies the cards. Returns the new value for a card given an old
97 * modified: Whenever the visitor modifies a card, this visitor is called on the card. Enables
113 // Assertion used to check the given address is covered by the card tabl
[all...]
/art/compiler/optimizing/
H A Dcode_generator_arm.h276 void MarkGCCard(Register temp, Register card, Register object, Register value);
H A Dcode_generator_x86.h265 void MarkGCCard(Register temp, Register card, Register object, Register value);
H A Dcode_generator_x86_64.h253 void MarkGCCard(CpuRegister temp, CpuRegister card, CpuRegister object, CpuRegister value);
H A Dcode_generator_arm.cc2968 Register card = locations->GetTemp(1).AsRegister<Register>(); local
2969 codegen_->MarkGCCard(temp, card, base, value.AsRegister<Register>());
3389 Register card = locations->GetTemp(1).AsRegister<Register>(); local
3390 codegen_->MarkGCCard(temp, card, obj, value);
3495 void CodeGeneratorARM::MarkGCCard(Register temp, Register card, Register object, Register value) { argument
3498 __ LoadFromOffset(kLoadWord, card, TR, Thread::CardTableOffset<kArmWordSize>().Int32Value());
3500 __ strb(card, Address(card, temp));
H A Dintrinsics_arm.cc580 // Temps for card-marking.
659 Register card = locations->GetTemp(1).AsRegister<Register>(); local
660 codegen->MarkGCCard(temp, card, base, value);
726 // Mark card for object assuming new value is stored. Worst case we will mark an unchanged
H A Dcode_generator_x86.cc3231 void CodeGeneratorX86::MarkGCCard(Register temp, Register card, Register object, Register value) { argument
3235 __ fs()->movl(card, Address::Absolute(Thread::CardTableOffset<kX86WordSize>().Int32Value()));
3238 __ movb(Address(temp, card, TIMES_1, 0),
3239 X86ManagedRegister::FromCpuRegister(card).AsByteRegister());
3371 // Ensure the card is in a byte register.
3457 Register card = locations->GetTemp(1).AsRegister<Register>(); local
3458 codegen_->MarkGCCard(temp, card, base, value.AsRegister<Register>());
3726 // Ensure the card is in a byte register.
3820 Register card = locations->GetTemp(1).AsRegister<Register>(); local
3821 codegen_->MarkGCCard(temp, card, ob
[all...]
H A Dcode_generator_x86_64.cc3332 CpuRegister card = locations->GetTemp(1).AsRegister<CpuRegister>(); local
3333 codegen_->MarkGCCard(temp, card, base, value.AsRegister<CpuRegister>());
3674 CpuRegister card = locations->GetTemp(1).AsRegister<CpuRegister>(); local
3675 codegen_->MarkGCCard(temp, card, obj, value.AsRegister<CpuRegister>());
3818 CpuRegister card,
3824 __ gs()->movq(card, Address::Absolute(
3828 __ movb(Address(temp, card, TIMES_1, 0), card); local
3817 MarkGCCard(CpuRegister temp, CpuRegister card, CpuRegister object, CpuRegister value) argument
H A Dcode_generator_arm64.cc608 Register card = temps.AcquireX(); local
612 __ Ldr(card, MemOperand(tr, Thread::CardTableOffset<kArm64WordSize>().Int32Value()));
614 __ Strb(card, MemOperand(card, temp.X()));
H A Dcode_generator_mips64.cc860 GpuRegister card = AT; local
864 card,
868 __ Daddu(temp, card, temp);
869 __ Sb(card, temp, 0);
/art/runtime/gc/
H A Dheap.h101 uint8_t operator()(uint8_t card) const {
102 if (card == accounting::CardTable::kCardDirty) {
103 return card - 1;
922 // The card table, dirtied by the write barrier.

Completed in 2502 milliseconds