Lines Matching full:object
36 #define CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, space, message) … argument
37 …if (UNLIKELY((object) == nullptr)) { …
46 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size)); …
49 #define CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, space, message) … argument
50 …if (UNLIKELY((object) == nullptr)) { …
55 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(thread, size)); …
58 #define CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR_FORT(object, size, space, desc, message) … argument
59 …if (UNLIKELY((object) == nullptr)) { …
64 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size, desc)); …
67 #define CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR(object, size, space, message) … argument
68 …if (UNLIKELY((object) == nullptr)) { …
73 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size)); …
211 TaggedObject *object = nullptr; in AllocateYoungOrHugeObject() local
213 object = AllocateHugeObject(size); in AllocateYoungOrHugeObject()
215 object = AllocateInGeneralNewSpace(size); in AllocateYoungOrHugeObject()
216 if (object == nullptr) { in AllocateYoungOrHugeObject()
220 object = AllocateInGeneralNewSpace(size); in AllocateYoungOrHugeObject()
221 if (object == nullptr) { in AllocateYoungOrHugeObject()
223 object = AllocateInGeneralNewSpace(size); in AllocateYoungOrHugeObject()
224 … CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, activeSemiSpace_, "Heap::AllocateYoungOrHugeObject"); in AllocateYoungOrHugeObject()
228 return object; in AllocateYoungOrHugeObject()
234 auto object = reinterpret_cast<TaggedObject *>(edenSpace_->Allocate(size)); in AllocateInGeneralNewSpace() local
235 if (object != nullptr) { in AllocateInGeneralNewSpace()
236 return object; in AllocateInGeneralNewSpace()
244 auto object = AllocateYoungOrHugeObject(size); in AllocateYoungOrHugeObject() local
245 ASSERT(object != nullptr); in AllocateYoungOrHugeObject()
246 object->SetClass(thread_, hclass); in AllocateYoungOrHugeObject()
248 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateYoungOrHugeObject()
250 return object; in AllocateYoungOrHugeObject()
253 void BaseHeap::SetHClassAndDoAllocateEvent(JSThread *thread, TaggedObject *object, JSHClass *hclass, in SetHClassAndDoAllocateEvent() argument
256 ASSERT(object != nullptr); in SetHClassAndDoAllocateEvent()
257 object->SetClass(thread, hclass); in SetHClassAndDoAllocateEvent()
259 OnAllocateEvent(thread->GetEcmaVM(), object, size); in SetHClassAndDoAllocateEvent()
298 auto object = reinterpret_cast<TaggedObject *>(activeSemiSpace_->Allocate(size)); in TryAllocateYoungGeneration() local
299 if (object != nullptr) { in TryAllocateYoungGeneration()
300 object->SetClass(thread_, hclass); in TryAllocateYoungGeneration()
303 OnAllocateEvent(GetEcmaVM(), object, size); in TryAllocateYoungGeneration()
305 return object; in TryAllocateYoungGeneration()
311 TaggedObject *object = AllocateOldOrHugeObject(hclass, size); in AllocateOldOrHugeObject() local
312 if (object == nullptr) { in AllocateOldOrHugeObject()
313 LOG_ECMA(FATAL) << "Heap::AllocateOldOrHugeObject:object is nullptr"; in AllocateOldOrHugeObject()
316 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateOldOrHugeObject()
318 return object; in AllocateOldOrHugeObject()
324 TaggedObject *object = nullptr; in AllocateOldOrHugeObject() local
326 object = AllocateHugeObject(hclass, size); in AllocateOldOrHugeObject()
328 object = reinterpret_cast<TaggedObject *>(oldSpace_->Allocate(size)); in AllocateOldOrHugeObject()
329 CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, oldSpace_, "Heap::AllocateOldOrHugeObject"); in AllocateOldOrHugeObject()
330 object->SetClass(thread_, hclass); in AllocateOldOrHugeObject()
333 OnAllocateEvent(GetEcmaVM(), reinterpret_cast<TaggedObject*>(object), size); in AllocateOldOrHugeObject()
335 return object; in AllocateOldOrHugeObject()
341 TaggedObject *object = AllocateReadOnlyOrHugeObject(hclass, size); in AllocateReadOnlyOrHugeObject() local
343 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateReadOnlyOrHugeObject()
345 return object; in AllocateReadOnlyOrHugeObject()
351 TaggedObject *object = nullptr; in AllocateReadOnlyOrHugeObject() local
353 object = AllocateHugeObject(hclass, size); in AllocateReadOnlyOrHugeObject()
355 object = reinterpret_cast<TaggedObject *>(readOnlySpace_->Allocate(size)); in AllocateReadOnlyOrHugeObject()
356 … CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, readOnlySpace_, "Heap::AllocateReadOnlyOrHugeObject"); in AllocateReadOnlyOrHugeObject()
357 ASSERT(object != nullptr); in AllocateReadOnlyOrHugeObject()
358 object->SetClass(thread_, hclass); in AllocateReadOnlyOrHugeObject()
361 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateReadOnlyOrHugeObject()
363 return object; in AllocateReadOnlyOrHugeObject()
369 TaggedObject *object = AllocateNonMovableOrHugeObject(hclass, size); in AllocateNonMovableOrHugeObject() local
370 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
371 LOG_ECMA(FATAL) << "Heap::AllocateNonMovableOrHugeObject:object is nullptr"; in AllocateNonMovableOrHugeObject()
374 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
376 return object; in AllocateNonMovableOrHugeObject()
382 TaggedObject *object = nullptr; in AllocateNonMovableOrHugeObject() local
384 object = AllocateHugeObject(hclass, size); in AllocateNonMovableOrHugeObject()
386 object = reinterpret_cast<TaggedObject *>(nonMovableSpace_->CheckAndAllocate(size)); in AllocateNonMovableOrHugeObject()
387 …CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, nonMovableSpace_, "Heap::AllocateNonMovableOrHugeObjec… in AllocateNonMovableOrHugeObject()
388 object->SetClass(thread_, hclass); in AllocateNonMovableOrHugeObject()
391 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
393 return object; in AllocateNonMovableOrHugeObject()
399 auto object = reinterpret_cast<TaggedObject *>(nonMovableSpace_->Allocate(size)); in AllocateClassClass() local
400 if (UNLIKELY(object == nullptr)) { in AllocateClassClass()
404 *reinterpret_cast<MarkWordType *>(ToUintPtr(object)) = reinterpret_cast<MarkWordType>(hclass); in AllocateClassClass()
406 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateClassClass()
408 return object; in AllocateClassClass()
414 auto object = reinterpret_cast<TaggedObject *>(sReadOnlySpace_->Allocate(thread, size)); in AllocateClassClass() local
415 if (UNLIKELY(object == nullptr)) { in AllocateClassClass()
419 *reinterpret_cast<MarkWordType *>(ToUintPtr(object)) = reinterpret_cast<MarkWordType>(hclass); in AllocateClassClass()
421 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateClassClass()
423 return object; in AllocateClassClass()
431 auto *object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject() local
432 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
434 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
435 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
436 // if allocate huge object OOM, temporarily increase space size to avoid vm crash in AllocateHugeObject()
441 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
443 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
444 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
449 return object; in AllocateHugeObject()
456 auto object = AllocateHugeObject(size); in AllocateHugeObject() local
457 object->SetClass(thread_, hclass); in AllocateHugeObject()
459 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateHugeObject()
461 return object; in AllocateHugeObject()
466 TaggedObject *object; in AllocateHugeMachineCodeObject() local
468 object = reinterpret_cast<TaggedObject *>(hugeMachineCodeSpace_->Allocate( in AllocateHugeMachineCodeObject()
471 object = reinterpret_cast<TaggedObject *>(hugeMachineCodeSpace_->Allocate( in AllocateHugeMachineCodeObject()
474 return object; in AllocateHugeMachineCodeObject()
479 TaggedObject *object; in AllocateMachineCodeObject() local
484 object = (size > MAX_REGULAR_HEAP_OBJECT_SIZE) ? in AllocateMachineCodeObject()
487 CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR(object, size, machineCodeSpace_, in AllocateMachineCodeObject()
489 object->SetClass(thread_, hclass); in AllocateMachineCodeObject()
491 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateMachineCodeObject()
493 return object; in AllocateMachineCodeObject()
501 // for non huge code cache obj, allocate fort space before allocating the code object in AllocateMachineCodeObject()
509 object = (size > MAX_REGULAR_HEAP_OBJECT_SIZE) ? in AllocateMachineCodeObject()
512 CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR_FORT(object, size, machineCodeSpace_, desc, in AllocateMachineCodeObject()
514 object->SetClass(thread_, hclass); in AllocateMachineCodeObject()
516 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateMachineCodeObject()
518 return object; in AllocateMachineCodeObject()
524 uintptr_t object = snapshotSpace_->Allocate(size); in AllocateSnapshotSpace() local
525 if (UNLIKELY(object == 0)) { in AllocateSnapshotSpace()
529 OnAllocateEvent(GetEcmaVM(), reinterpret_cast<TaggedObject *>(object), size); in AllocateSnapshotSpace()
531 return object; in AllocateSnapshotSpace()
538 TaggedObject *object = reinterpret_cast<TaggedObject*>(sNonMovableTlab_->Allocate(size)); in AllocateSharedNonMovableSpaceFromTlab() local
539 if (object != nullptr) { in AllocateSharedNonMovableSpaceFromTlab()
540 return object; in AllocateSharedNonMovableSpaceFromTlab()
547 object = sHeap_->AllocateSNonMovableTlab(thread, newTlabSize); in AllocateSharedNonMovableSpaceFromTlab()
548 if (object == nullptr) { in AllocateSharedNonMovableSpaceFromTlab()
552 uintptr_t begin = reinterpret_cast<uintptr_t>(object); in AllocateSharedNonMovableSpaceFromTlab()
558 return object; in AllocateSharedNonMovableSpaceFromTlab()
565 TaggedObject *object = reinterpret_cast<TaggedObject*>(sOldTlab_->Allocate(size)); in AllocateSharedOldSpaceFromTlab() local
566 if (object != nullptr) { in AllocateSharedOldSpaceFromTlab()
567 return object; in AllocateSharedOldSpaceFromTlab()
574 object = sHeap_->AllocateSOldTlab(thread, newTlabSize); in AllocateSharedOldSpaceFromTlab()
575 if (object == nullptr) { in AllocateSharedOldSpaceFromTlab()
579 uintptr_t begin = reinterpret_cast<uintptr_t>(object); in AllocateSharedOldSpaceFromTlab()
585 return object; in AllocateSharedOldSpaceFromTlab()
787 // Record alive object size after shared gc and other stats in CollectGarbageFinish()
808 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
810 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
811 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
812 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
814 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
817 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
820 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
822 return object; in AllocateNonMovableOrHugeObject()
831 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
833 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
834 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
835 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
840 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
842 return object; in AllocateNonMovableOrHugeObject()
857 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
859 if (object == nullptr) { in AllocateOldOrHugeObject()
860 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
861 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
862 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
865 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
868 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateOldOrHugeObject()
870 return object; in AllocateOldOrHugeObject()
879 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
881 if (object == nullptr) { in AllocateOldOrHugeObject()
882 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
883 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
886 return object; in AllocateOldOrHugeObject()
897 …TaggedObject *object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, s… in AllocateInSOldSpace() local
899 if (object == nullptr) { in AllocateInSOldSpace()
903 … object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
904 if (object == nullptr) { in AllocateInSOldSpace()
908 … object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
911 return object; in AllocateInSOldSpace()
916 auto object = AllocateHugeObject(thread, size); in AllocateHugeObject() local
917 object->SetClass(thread, hclass); in AllocateHugeObject()
919 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateHugeObject()
921 return object; in AllocateHugeObject()
928 auto *object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject() local
929 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
931 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
932 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
933 // if allocate huge object OOM, temporarily increase space size to avoid vm crash in AllocateHugeObject()
938 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
939 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
945 return object; in AllocateHugeObject()
960 auto object = reinterpret_cast<TaggedObject *>(sReadOnlySpace_->Allocate(thread, size)); in AllocateReadOnlyOrHugeObject() local
961 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sReadOnlySpace_, "SharedHeap::AllocateReadOnl… in AllocateReadOnlyOrHugeObject()
962 ASSERT(object != nullptr); in AllocateReadOnlyOrHugeObject()
963 object->SetClass(thread, hclass); in AllocateReadOnlyOrHugeObject()
964 return object; in AllocateReadOnlyOrHugeObject()
973 TaggedObject *object = nullptr; in AllocateSOldTlab() local
975 object = reinterpret_cast<TaggedObject *>(sOldSpace_->AllocateNoGCAndExpand(thread, size)); in AllocateSOldTlab()
977 object = AllocateInSOldSpace(thread, size); in AllocateSOldTlab()
979 return object; in AllocateSOldTlab()
988 TaggedObject *object = nullptr; in AllocateSNonMovableTlab() local
989 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateSNonMovableTlab()
990 return object; in AllocateSNonMovableTlab()
1079 JSNativePointer* object = *iter; in ProcessNativeDelete() local
1080 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1082 size_t bindingSize = object->GetBindingSize(); in ProcessNativeDelete()
1083 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessNativeDelete()
1084 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessNativeDelete()
1085 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessNativeDelete()
1096 JSNativePointer* object = *newIter; in ProcessNativeDelete() local
1097 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1099 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessNativeDelete()
1100 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessNativeDelete()
1101 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessNativeDelete()
1116 JSNativePointer* object = *sharedIter; in ProcessSharedNativeDelete() local
1117 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessSharedNativeDelete()
1120 … object->GetDeleter(), std::make_pair(object->GetExternalPointer(), object->GetData())); in ProcessSharedNativeDelete()
1123 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessSharedNativeDelete()
1142 JSNativePointer* object = *iter; in ProcessReferences() local
1143 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1145 size_t bindingSize = object->GetBindingSize(); in ProcessReferences()
1146 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessReferences()
1147 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessReferences()
1148 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessReferences()
1153 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1163 JSNativePointer* object = *newIter; in ProcessReferences() local
1164 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1166 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessReferences()
1167 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessReferences()
1168 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessReferences()
1173 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1202 JSNativePointer* object = *iter; in RemoveFromNativePointerList() local
1203 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1204 object->Destroy(thread_); in RemoveFromNativePointerList()
1209 JSNativePointer* object = *newIter; in RemoveFromNativePointerList() local
1210 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1211 object->Destroy(thread_); in RemoveFromNativePointerList()