• Home
  • Raw
  • Download

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()
791 // Record alive object size after shared gc and other stats in CollectGarbageFinish()
812 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
814 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
815 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
816 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
818 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
821 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
824 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
826 return object; in AllocateNonMovableOrHugeObject()
835 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
837 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
838 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
839 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
844 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
846 return object; in AllocateNonMovableOrHugeObject()
861 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
863 if (object == nullptr) { in AllocateOldOrHugeObject()
864 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
865 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
866 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
869 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
872 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateOldOrHugeObject()
874 return object; in AllocateOldOrHugeObject()
883 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
885 if (object == nullptr) { in AllocateOldOrHugeObject()
886 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
887 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
890 return object; in AllocateOldOrHugeObject()
901 …TaggedObject *object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, s… in AllocateInSOldSpace() local
903 if (object == nullptr) { in AllocateInSOldSpace()
907object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
908 if (object == nullptr) { in AllocateInSOldSpace()
912object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
915 return object; in AllocateInSOldSpace()
920 auto object = AllocateHugeObject(thread, size); in AllocateHugeObject() local
921 object->SetClass(thread, hclass); in AllocateHugeObject()
923 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateHugeObject()
925 return object; in AllocateHugeObject()
932 auto *object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject() local
933 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
935 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
936 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
937 // if allocate huge object OOM, temporarily increase space size to avoid vm crash in AllocateHugeObject()
942 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
943 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
949 return object; in AllocateHugeObject()
964 auto object = reinterpret_cast<TaggedObject *>(sReadOnlySpace_->Allocate(thread, size)); in AllocateReadOnlyOrHugeObject() local
965 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sReadOnlySpace_, "SharedHeap::AllocateReadOnl… in AllocateReadOnlyOrHugeObject()
966 ASSERT(object != nullptr); in AllocateReadOnlyOrHugeObject()
967 object->SetClass(thread, hclass); in AllocateReadOnlyOrHugeObject()
968 return object; in AllocateReadOnlyOrHugeObject()
977 TaggedObject *object = nullptr; in AllocateSOldTlab() local
979 object = reinterpret_cast<TaggedObject *>(sOldSpace_->AllocateNoGCAndExpand(thread, size)); in AllocateSOldTlab()
981 object = AllocateInSOldSpace(thread, size); in AllocateSOldTlab()
983 return object; in AllocateSOldTlab()
992 TaggedObject *object = nullptr; in AllocateSNonMovableTlab() local
993 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateSNonMovableTlab()
994 return object; in AllocateSNonMovableTlab()
1083 JSNativePointer* object = *iter; in ProcessNativeDelete() local
1084 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1086 size_t bindingSize = object->GetBindingSize(); in ProcessNativeDelete()
1087 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessNativeDelete()
1088 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessNativeDelete()
1089 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessNativeDelete()
1100 JSNativePointer* object = *newIter; in ProcessNativeDelete() local
1101 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1103 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessNativeDelete()
1104 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessNativeDelete()
1105 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessNativeDelete()
1120 JSNativePointer* object = *sharedIter; in ProcessSharedNativeDelete() local
1121 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessSharedNativeDelete()
1124object->GetDeleter(), std::make_pair(object->GetExternalPointer(), object->GetData())); in ProcessSharedNativeDelete()
1127 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessSharedNativeDelete()
1146 JSNativePointer* object = *iter; in ProcessReferences() local
1147 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1149 size_t bindingSize = object->GetBindingSize(); in ProcessReferences()
1150 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessReferences()
1151 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessReferences()
1152 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessReferences()
1157 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1167 JSNativePointer* object = *newIter; in ProcessReferences() local
1168 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1170 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessReferences()
1171 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessReferences()
1172 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessReferences()
1177 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1206 JSNativePointer* object = *iter; in RemoveFromNativePointerList() local
1207 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1208 object->Destroy(thread_); in RemoveFromNativePointerList()
1213 JSNativePointer* object = *newIter; in RemoveFromNativePointerList() local
1214 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1215 object->Destroy(thread_); in RemoveFromNativePointerList()