Lines Matching defs:object
27 // This check is here to ensure that the lower 32 bits of any real heap object
65 // large object memory.
102 HeapObject object = current_->GetObject();
104 return object;
159 HeapObject object = page->GetObject();
160 UpdatePendingObject(object);
165 heap()->incremental_marking()->marking_state()->WhiteToBlack(object);
169 heap()->incremental_marking()->marking_state()->IsBlack(object));
172 AdvanceAndInvokeAllocationObservers(object.address(),
174 return AllocationResult::FromObject(object);
195 HeapObject object = page->GetObject();
198 heap()->incremental_marking()->marking_state()->WhiteToBlack(object);
202 heap()->incremental_marking()->marking_state()->IsBlack(object));
207 return AllocationResult::FromObject(object);
222 HeapObject object = page->GetObject();
224 heap()->CreateFillerObjectAt(object.address(), object_size,
232 // precise accounting of committed memory in large object space.
322 HeapObject object = current->GetObject();
323 DCHECK(!marking_state->IsGrey(object));
324 size_t size = static_cast<size_t>(object.Size(cage_base));
325 if (marking_state->IsBlack(object)) {
328 if ((free_start = current->GetAddressToShrink(object.address(), size)) !=
336 current->area_start() + object.Size(cage_base));
350 bool LargeObjectSpace::Contains(HeapObject object) const {
351 BasicMemoryChunk* chunk = BasicMemoryChunk::FromHeapObject(object);
355 SLOW_DCHECK(!owned || ContainsSlow(object.address()));
374 // We do not assume that the large object iterator works, because it depends
386 // Each chunk contains an object that starts at the large object page's
387 // object area start.
388 HeapObject object = chunk->GetObject();
389 Page* page = Page::FromHeapObject(object);
390 CHECK(object.address() == page->area_start());
394 Map map = object.map(cage_base);
399 // We have only the following types in the large object space:
401 object.IsAbstractCode(cage_base) || //
402 object.IsBigInt(cage_base) || //
403 object.IsByteArray(cage_base) || //
404 object.IsContext(cage_base) || //
405 object.IsExternalString(cage_base) || //
406 object.IsFeedbackMetadata(cage_base) || //
407 object.IsFeedbackVector(cage_base) || //
408 object.IsFixedArray(cage_base) || //
409 object.IsFixedDoubleArray(cage_base) || //
410 object.IsFreeSpace(cage_base) || //
411 object.IsPreparseData(cage_base) || //
412 object.IsPropertyArray(cage_base) || //
413 object.IsScopeInfo() || //
414 object.IsSeqString(cage_base) || //
415 object.IsSloppyArgumentsElements(cage_base) || //
416 object.IsSwissNameDictionary() || //
417 object.IsThinString(cage_base) || //
418 object.IsUncompiledDataWithoutPreparseData(cage_base) || //
420 object.IsWasmArray() || //
422 object.IsWeakArrayList(cage_base) || //
423 object.IsWeakFixedArray(cage_base);
425 object.Print();
426 FATAL("Found invalid Object (instance_type=%i) in large object space.",
427 object.map(cage_base).instance_type());
430 // The object itself should look OK.
431 object.ObjectVerify(isolate);
434 heap()->VerifyRememberedSetFor(object);
438 if (object.IsAbstractCode(cage_base)) {
440 object.IterateBody(map, object.Size(cage_base), &code_visitor);
441 } else if (object.IsFixedArray(cage_base)) {
442 FixedArray array = FixedArray::cast(object);
451 } else if (object.IsPropertyArray(cage_base)) {
452 PropertyArray array = PropertyArray::cast(object);
487 void LargeObjectSpace::UpdatePendingObject(HeapObject object) {
489 pending_object_.store(object.address(), std::memory_order_release);
504 // Do not allocate more objects if promoting the existing object would exceed
510 // Allocation for the first object must succeed independent from the capacity.
518 // The size of the first object may exceed the capacity.
561 HeapObject object = page->GetObject();
562 size_t size = static_cast<size_t>(object.Size(cage_base));
563 if (is_dead(object)) {