Lines Matching refs:slot
114 Map map, THeapObjectSlot slot, HeapObject object, int object_size,
133 HeapObjectReference::Update(slot, map_word.ToForwardingAddress());
134 DCHECK(!Heap::InFromPage(*slot));
135 return Heap::InToPage(*slot)
139 HeapObjectReference::Update(slot, target);
151 CopyAndForwardResult Scavenger::PromoteObject(Map map, THeapObjectSlot slot,
182 HeapObjectReference::Update(slot, map_word.ToForwardingAddress());
183 DCHECK(!Heap::InFromPage(*slot));
184 return Heap::InToPage(*slot)
188 HeapObjectReference::Update(slot, target);
233 Map map, THeapObjectSlot slot, HeapObject object, int object_size,
251 result = SemiSpaceCopyObject(map, slot, object, object_size, object_fields);
261 map, slot, object, object_size, object_fields);
267 result = SemiSpaceCopyObject(map, slot, object, object_size, object_fields);
277 SlotCallbackResult Scavenger::EvacuateThinString(Map map, THeapObjectSlot slot,
291 HeapObjectReference::Update(slot, actual);
297 return EvacuateObjectDefault(map, slot, object, object_size,
303 THeapObjectSlot slot,
314 HeapObjectReference::Update(slot, first);
325 HeapObjectReference::Update(slot, target);
332 first_map, slot, first, first.SizeFromMap(first_map),
334 object.set_map_word(MapWord::FromForwardingAddress(slot.ToHeapObject()),
340 return EvacuateObjectDefault(map, slot, object, object_size,
346 Map map, THeapObjectSlot slot, String object, int object_size,
352 map, slot, object, object_size, object_fields);
354 return EvacuateObjectDefault(map, slot, object, object_size, object_fields);
358 SlotCallbackResult Scavenger::EvacuateObject(THeapObjectSlot slot, Map map,
372 DCHECK(!(*slot)->IsWeak());
373 return EvacuateThinString(map, slot, ThinString::unchecked_cast(source),
376 DCHECK(!(*slot)->IsWeak());
379 map, slot, ConsString::unchecked_cast(source), size);
384 map, slot, String::unchecked_cast(source), size,
390 map, slot, String::unchecked_cast(source), size,
395 return EvacuateObjectDefault(map, slot, source, size,
434 SlotCallbackResult Scavenger::CheckAndScavengeObject(Heap* heap, TSlot slot) {
440 MaybeObject object = *slot;
445 ScavengeObject(THeapObjectSlot(slot), heap_object);
447 !heap->InYoungGeneration((*slot)->GetHeapObject()));
450 // Already updated slot. This can happen when processing of the work list
454 // Slots can point to "to" space if the slot has been recorded multiple
455 // times in the remembered set. We remove the redundant slot now.
469 void ScavengeVisitor::VisitCodePointer(HeapObject host, CodeObjectSlot slot) {
482 FullObjectSlot slot(&target);
483 VisitHeapObjectImpl(slot, target);
484 // Code objects are never in new-space, so the slot contents must not change.
493 FullObjectSlot slot(&heap_object);
494 VisitHeapObjectImpl(slot, heap_object);
495 // We don't embed new-space objects into code, so the slot contents must not
501 void ScavengeVisitor::VisitHeapObjectImpl(TSlot slot, HeapObject heap_object) {
504 scavenger_->ScavengeObject(THeapObjectSlot(slot), heap_object);
511 for (TSlot slot = start; slot < end; ++slot) {
512 typename TSlot::TObject object = *slot;
516 VisitHeapObjectImpl(slot, heap_object);