/art/runtime/gc/accounting/ |
D | mod_union_table.cc | 44 inline void operator()(uint8_t* card, in operator ()() argument 48 cleared_cards_->insert(card); in operator ()() 61 inline void operator()(uint8_t* card, in operator ()() argument 66 bitmap_->Set(reinterpret_cast<uintptr_t>(card_table_->AddrFromCard(card))); in operator ()() 81 void operator()(uint8_t* card, uint8_t expected_card, [[maybe_unused]] uint8_t new_card) const { in operator ()() argument 83 cleared_cards_->push_back(card); in operator ()() 354 const uint8_t* card = ref_pair.first; in Verify() local 355 if (*card == CardTable::kCardClean) { in Verify() 361 uintptr_t start = reinterpret_cast<uintptr_t>(card_table->AddrFromCard(card)); in Verify() 396 for (uint8_t* card : cleared_cards_) { in VisitObjects() [all …]
|
D | card_table_test.cc | 71 uint8_t* card = card_table_->CardFromAddr(addr); in FillRandom() local 72 *card = PseudoRandomCard(addr); in FillRandom() 138 uint8_t* card = card_table_->CardFromAddr(cur); in TEST_F() local 140 EXPECT_EQ(visitor(value), *card); in TEST_F() 142 *card = value; in TEST_F()
|
D | card_table.h | 151 void CheckCardValid(uint8_t* card) const ALWAYS_INLINE; 171 uint8_t operator()(uint8_t card) const { in operator() 172 return (card == accounting::CardTable::kCardDirty) ? card - 1 : 0; in operator()
|
D | card_table-inl.h | 104 auto* card = reinterpret_cast<uint8_t*>(word_cur) + i; in Scan() local 105 DCHECK(*card == static_cast<uint8_t>(start_word) || *card == kCardDirty) in Scan() 106 << "card " << static_cast<size_t>(*card) << " intptr_t " << (start_word & 0xFF); in Scan() 235 inline void CardTable::CheckCardValid(uint8_t* card) const { in CheckCardValid() argument 236 DCHECK(IsValidCard(card)) in CheckCardValid() 237 << " card_addr: " << reinterpret_cast<const void*>(card) in CheckCardValid()
|
D | remembered_set.cc | 45 void operator()(uint8_t* card, uint8_t expected_value, [[maybe_unused]] uint8_t new_value) const { in operator ()() argument 47 dirty_cards_->insert(card); in operator ()()
|
/art/compiler/optimizing/ |
D | code_generator_x86_64.h | 480 CpuRegister card, 486 void MarkGCCard(CpuRegister temp, CpuRegister card, CpuRegister object); 491 void CheckGCCardIsValid(CpuRegister temp, CpuRegister card, CpuRegister object);
|
D | code_generator_x86.h | 577 Register temp, Register card, Register object, Register value, bool emit_null_check); 580 void MarkGCCard(Register temp, Register card, Register object); 585 void CheckGCCardIsValid(Register temp, Register card, Register object);
|
D | code_generator_arm_vixl.h | 624 vixl::aarch32::Register card, 631 vixl::aarch32::Register card, 638 vixl::aarch32::Register card,
|
D | code_generator_x86_64.cc | 5554 CpuRegister card = locations->GetTemp(extra_temp_index).AsRegister<CpuRegister>(); in HandleFieldSet() local 5555 codegen_->MarkGCCard(temp, card, base); in HandleFieldSet() 5560 CpuRegister card = locations->GetTemp(extra_temp_index).AsRegister<CpuRegister>(); in HandleFieldSet() local 5563 card, in HandleFieldSet() 5573 CpuRegister card = locations->GetTemp(extra_temp_index).AsRegister<CpuRegister>(); in HandleFieldSet() local 5574 codegen_->CheckGCCardIsValid(temp, card, base); in HandleFieldSet() 5944 CpuRegister card = locations->GetTemp(1).AsRegister<CpuRegister>(); in VisitArraySet() local 5945 codegen_->MarkGCCard(temp, card, array); in VisitArraySet() 6024 CpuRegister card = locations->GetTemp(1).AsRegister<CpuRegister>(); in VisitArraySet() local 6025 codegen_->MarkGCCard(temp, card, array); in VisitArraySet() [all …]
|
D | code_generator_x86.cc | 5907 Register temp, Register card, Register object, Register value, bool emit_null_check) { in MaybeMarkGCCard() argument 5913 MarkGCCard(temp, card, object); in MaybeMarkGCCard() 5919 void CodeGeneratorX86::MarkGCCard(Register temp, Register card, Register object) { in MarkGCCard() argument 5921 __ fs()->movl(card, Address::Absolute(Thread::CardTableOffset<kX86PointerSize>().Int32Value())); in MarkGCCard() 5938 __ movb(Address(temp, card, TIMES_1, 0), in MarkGCCard() 5939 X86ManagedRegister::FromCpuRegister(card).AsByteRegister()); in MarkGCCard() 5942 void CodeGeneratorX86::CheckGCCardIsValid(Register temp, Register card, Register object) { in CheckGCCardIsValid() argument 5946 __ fs()->movl(card, Address::Absolute(Thread::CardTableOffset<kX86PointerSize>().Int32Value())); in CheckGCCardIsValid() 5951 __ cmpb(Address(temp, card, TIMES_1, 0), Immediate(gc::accounting::CardTable::kCardClean)); in CheckGCCardIsValid() 6223 Register card = locations->GetTemp(1).AsRegister<Register>(); in HandleFieldSet() local [all …]
|
D | intrinsics_arm_vixl.cc | 3019 vixl32::Register card = temps.Acquire(); in GenUnsafePut() local 3021 codegen->MaybeMarkGCCard(temp, card, base, RegisterFrom(value), value_can_be_null); in GenUnsafePut() 3923 vixl32::Register card = tmp_ptr; // Use the `tmp_ptr` also as the `card` temporary. in GenUnsafeGetAndUpdate() local 3924 codegen->MaybeMarkGCCard(temp, card, base, /*value=*/ RegisterFrom(arg), new_value_can_be_null); in GenUnsafeGetAndUpdate() 4778 vixl32::Register card = temps.Acquire(); in GenerateVarHandleSet() local 4780 codegen->MaybeMarkGCCard(temp, card, target.object, value_reg, /* emit_null_check= */ true); in GenerateVarHandleSet() 5077 vixl32::Register card = tmp_ptr; in GenerateVarHandleCompareAndSetOrExchange() local 5081 temp, card, target.object, RegisterFrom(new_value), new_value_can_be_null); in GenerateVarHandleCompareAndSetOrExchange() 5396 vixl32::Register card = tmp_ptr; in GenerateVarHandleGetAndUpdate() local 5399 codegen->MaybeMarkGCCard(temp, card, target.object, RegisterFrom(arg), new_value_can_be_null); in GenerateVarHandleGetAndUpdate()
|
D | code_generator_arm_vixl.cc | 6083 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in HandleFieldSet() local 6086 card, in HandleFieldSet() 6092 vixl32::Register card = RegisterFrom(locations->GetTemp(1)); in HandleFieldSet() local 6093 codegen_->CheckGCCardIsValid(temp, card, base); in HandleFieldSet() 7278 vixl32::Register card, in MaybeMarkGCCard() argument 7286 MarkGCCard(temp, card, object); in MaybeMarkGCCard() 7293 vixl32::Register card, in MarkGCCard() argument 7297 kLoadWord, card, tr, Thread::CardTableOffset<kArmPointerSize>().Int32Value()); in MarkGCCard() 7313 __ Strb(card, MemOperand(card, temp)); in MarkGCCard() 7317 vixl32::Register card, in CheckGCCardIsValid() argument [all …]
|
D | code_generator_arm64.cc | 1529 Register card = temps.AcquireX(); in MarkGCCard() local 1532 __ Ldr(card, MemOperand(tr, Thread::CardTableOffset<kArm64PointerSize>().Int32Value())); in MarkGCCard() 1548 __ Strb(card, MemOperand(card, temp.X())); in MarkGCCard() 1553 Register card = temps.AcquireX(); in CheckGCCardIsValid() local 1557 __ Ldr(card, MemOperand(tr, Thread::CardTableOffset<kArm64PointerSize>().Int32Value())); in CheckGCCardIsValid() 1561 __ Ldrb(temp, MemOperand(card, temp.X())); in CheckGCCardIsValid()
|
D | code_generator_riscv64.cc | 2445 XRegister card = srs.AllocateXRegister(); in MarkGCCard() local 2448 __ Loadd(card, TR, Thread::CardTableOffset<kRiscv64PointerSize>().Int32Value()); in MarkGCCard() 2452 __ Add(temp, card, temp); in MarkGCCard() 2466 __ Sb(card, temp, 0); // No scratch register left for `Storeb()`. in MarkGCCard() 2472 XRegister card = srs.AllocateXRegister(); in CheckGCCardIsValid() local 2475 __ Loadd(card, TR, Thread::CardTableOffset<kRiscv64PointerSize>().Int32Value()); in CheckGCCardIsValid() 2479 __ Add(temp, card, temp); in CheckGCCardIsValid()
|
/art/runtime/gc/collector/ |
D | mark_compact.cc | 720 [](uint8_t card) { in PrepareCardTableForMarking() argument 721 return (card == gc::accounting::CardTable::kCardClean) in PrepareCardTableForMarking() 722 ? card in PrepareCardTableForMarking() 744 [](uint8_t card) { in PrepareCardTableForMarking() argument 745 return (card == gc::accounting::CardTable::kCardDirty) ? in PrepareCardTableForMarking()
|
D | concurrent_copying.cc | 834 [](uint8_t card) { in GrayAllDirtyImmuneObjects() argument 835 return (card != gc::accounting::CardTable::kCardClean) in GrayAllDirtyImmuneObjects() 837 : card; in GrayAllDirtyImmuneObjects()
|