Lines Matching defs:object

19 void Scavenger::PromotionList::Local::PushRegularObject(HeapObject object,
21 regular_object_promotion_list_local_.Push({object, size});
24 void Scavenger::PromotionList::Local::PushLargeObject(HeapObject object,
26 large_object_promotion_list_local_.Push({object, map, size});
58 // now we only look into the regular object list.
74 void Scavenger::PageMemoryFence(MaybeObject object) {
79 if (object->GetHeapObject(&heap_object)) {
96 // Other task migrated the object.
114 Map map, THeapObjectSlot slot, HeapObject object, int object_size,
119 DCHECK(heap()->AllowedToBeMigrated(map, object, NEW_SPACE));
129 MigrateObject(map, object, target, object_size, kPromoteIntoLocalHeap);
132 MapWord map_word = object.map_word(kAcquireLoad);
152 HeapObject object,
178 MigrateObject(map, object, target, object_size, promotion_heap_choice);
181 MapWord map_word = object.map_word(kAcquireLoad);
190 // During incremental marking we want to push every object in order to
209 bool Scavenger::HandleLargeObject(Map map, HeapObject object, int object_size,
214 BasicMemoryChunk::FromHeapObject(object)->InNewLargeObjectSpace())) {
216 MemoryChunk::FromHeapObject(object)->owner_identity());
217 if (object.release_compare_and_swap_map_word(
218 MapWord::FromMap(map), MapWord::FromForwardingAddress(object))) {
219 surviving_new_large_objects_.insert({object, map});
222 promotion_list_local_.PushLargeObject(object, map, object_size);
233 Map map, THeapObjectSlot slot, HeapObject object, int object_size,
238 SLOW_DCHECK(object.SizeFromMap(map) == object_size);
241 if (HandleLargeObject(map, object, object_size, object_fields)) {
248 if (!heap()->ShouldBePromoted(object.address())) {
250 // try to promote the object.
251 result = SemiSpaceCopyObject(map, slot, object, object_size, object_fields);
257 // We may want to promote this object if the object was already semi-space
261 map, slot, object, object_size, object_fields);
266 // If promotion failed, we try to copy the object to the other semi-space.
267 result = SemiSpaceCopyObject(map, slot, object, object_size, object_fields);
278 ThinString object,
285 // forwarding pointer and instead just signal the actual object as forwarded
287 String actual = object.actual();
297 return EvacuateObjectDefault(map, slot, object, object_size,
304 ConsString object,
311 object.unchecked_second() == ReadOnlyRoots(heap()).empty_string()) {
312 HeapObject first = HeapObject::cast(object.unchecked_first());
317 object.set_map_word(MapWord::FromForwardingAddress(first), kReleaseStore);
326 object.set_map_word(MapWord::FromForwardingAddress(target),
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);
402 HeapObject object) {
406 DCHECK(Heap::InFromPage(object));
410 // object (using Heap::InYoungGeneration).
411 MapWord first_word = object.map_word(kAcquireLoad);
413 // If the first word is a forwarding address, the object has already been
429 // Call the slow part of scavenge object.
430 return EvacuateObject(p, map, object);
440 MaybeObject object = *slot;
441 if (Heap::InFromPage(object)) {
442 HeapObject heap_object = object->GetHeapObject();
449 } else if (Heap::InToPage(object)) {
472 // only object that can contain code pointers, are always allocated in
512 typename TSlot::TObject object = *slot;
515 if (object.GetHeapObject(&heap_object)) {
521 int ScavengeVisitor::VisitJSArrayBuffer(Map map, JSArrayBuffer object) {
522 object.YoungMarkExtension();
523 int size = JSArrayBuffer::BodyDescriptor::SizeOf(map, object);
524 JSArrayBuffer::BodyDescriptor::IterateBody(map, object, size, this);