Lines Matching defs:slot
138 void Heap_GenerationalBarrierSlow(HeapObject object, Address slot,
140 Heap::GenerationalBarrierSlow(object, slot, value);
154 Address slot) {
155 heap->RecordEphemeronKeyWrite(table, slot);
1425 // Old-to-new slot sets must be empty after each collection.
3322 AtomicSlot slot(ObjectSlot(addr) + 1);
3323 *slot = static_cast<Tagged_t>(kClearedFreeMemoryValue);
3671 // recorded slot.
3982 // Helper class for collecting slot addresses.
3996 void VisitCodePointer(HeapObject host, CodeObjectSlot slot) override {
3999 code_slots_.push_back(slot);
4013 MaybeObjectSlot slot(int i) { return slots_[i]; }
4082 DCHECK_EQ(new_visitor.slot(i), old_visitor.slot(i));
4669 for (ObjectSlot slot = start; slot < end; ++slot) {
4670 Object obj = slot.load(cage_base());
4679 for (MaybeObjectSlot slot = start; slot < end; ++slot) {
4680 if (ShouldHaveBeenRecorded(host, slot.load(cage_base()))) {
4681 CHECK_GT(untyped_->count(slot.address()), 0);
4686 void VisitCodePointer(HeapObject host, CodeObjectSlot slot) override {
4689 host, MaybeObject::FromObject(slot.load(code_cage_base())))) {
4690 CHECK_GT(untyped_->count(slot.address()), 0);
4720 bool InUntypedSet(ObjectSlot slot) {
4721 return untyped_->count(slot.address()) > 0;
4725 bool InTypedSet(SlotType type, Address slot) {
4726 return typed_->count(std::make_pair(type, slot)) > 0;
4775 [start, end, untyped](MaybeObjectSlot slot) {
4776 if (start <= slot.address() && slot.address() < end) {
4777 untyped->insert(slot.address());
4783 chunk, [=](SlotType type, Address slot) {
4784 if (start <= slot && slot < end) {
4785 typed->insert(std::make_pair(type, slot));
4809 // TODO(v8:11797): Add old to old slot set verification once all weak objects
4903 // and clear the slot to allow post processing of handles (needed because
6406 void Heap::ClearRecordedSlot(HeapObject object, ObjectSlot slot) {
6409 Page* page = Page::FromAddress(slot.address());
6414 RememberedSet<OLD_TO_NEW>::Remove(page, slot.address());
6421 int Heap::InsertIntoRememberedSetFromCode(MemoryChunk* chunk, Address slot) {
6422 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
6427 void Heap::VerifyClearedSlot(HeapObject object, ObjectSlot slot) {
6431 Page* page = Page::FromAddress(slot.address());
6434 CHECK_IMPLIES(RememberedSet<OLD_TO_NEW>::Contains(page, slot.address()),
6436 CHECK_IMPLIES(RememberedSet<OLD_TO_OLD>::Contains(page, slot.address()),
6555 void VisitCodePointer(HeapObject host, CodeObjectSlot slot) override {
6557 HeapObject code = HeapObject::unchecked_cast(slot.load(code_cage_base()));
6855 std::function<void(HeapObject object, ObjectSlot slot, Object target)>
7035 CodeObjectSlot slot) {
7037 Object maybe_code = slot.load(code_cage_base());
7039 // The slot might contain smi during CodeDataContainer creation.
7075 for (TSlot slot = start; slot < end; ++slot) {
7076 typename TSlot::TObject object = slot.load(cage_base());
7278 void Heap::GenerationalBarrierSlow(HeapObject object, Address slot,
7281 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
7284 void Heap::RecordEphemeronKeyWrite(EphemeronHashTable table, Address slot) {
7285 DCHECK(ObjectInYoungGeneration(HeapObjectSlot(slot).ToHeapObject()));
7290 RememberedSet<OLD_TO_NEW>::Insert<AccessMode::NON_ATOMIC>(chunk, slot);
7292 int slot_index = EphemeronHashTable::SlotToIndex(table.address(), slot);
7332 for (TSlot slot = start_slot; slot < end_slot; ++slot) {
7333 typename TSlot::TObject value = *slot;
7340 slot.address());
7346 collector->RecordSlot(source_page, HeapObjectSlot(slot),
7387 // Marking, no evacuation slot recording.
7391 // Marking with evacuation slot recording.
7396 // Generational and marking, no evacuation slot recording.
7401 // Generational and marking with evacuation slot recording.