• Home
  • Raw
  • Download

Lines Matching full:object

39 #define CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, space, message)                                …  argument
40 …if (UNLIKELY((object) == nullptr)) { …
49 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size)); …
52 #define CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, space, message) … argument
53 …if (UNLIKELY((object) == nullptr)) { …
58 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(thread, size)); …
61 #define CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR_FORT(object, size, space, desc, message) … argument
62 …if (UNLIKELY((object) == nullptr)) { …
67 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size, desc)); …
70 #define CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR(object, size, space, message) … argument
71 …if (UNLIKELY((object) == nullptr)) { …
76 …(object) = reinterpret_cast<TaggedObject *>((space)->Allocate(size)); …
206 TaggedObject *object = nullptr; in AllocateYoungOrHugeObject() local
208 object = AllocateHugeObject(size); in AllocateYoungOrHugeObject()
210 object = AllocateInYoungSpace(size); in AllocateYoungOrHugeObject()
211 if (object == nullptr) { in AllocateYoungOrHugeObject()
215 object = AllocateInYoungSpace(size); in AllocateYoungOrHugeObject()
216 if (object == nullptr) { in AllocateYoungOrHugeObject()
218 object = AllocateInYoungSpace(size); in AllocateYoungOrHugeObject()
219 … CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, activeSemiSpace_, "Heap::AllocateYoungOrHugeObject"); in AllocateYoungOrHugeObject()
223 return object; in AllocateYoungOrHugeObject()
233 auto object = AllocateYoungOrHugeObject(size); in AllocateYoungOrHugeObject() local
234 ASSERT(object != nullptr); in AllocateYoungOrHugeObject()
235 object->SetClass(thread_, hclass); in AllocateYoungOrHugeObject()
237 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateYoungOrHugeObject()
239 return object; in AllocateYoungOrHugeObject()
242 void BaseHeap::SetHClassAndDoAllocateEvent(JSThread *thread, TaggedObject *object, JSHClass *hclass, in SetHClassAndDoAllocateEvent() argument
245 ASSERT(object != nullptr); in SetHClassAndDoAllocateEvent()
246 object->SetClass(thread, hclass); in SetHClassAndDoAllocateEvent()
248 OnAllocateEvent(thread->GetEcmaVM(), object, size); in SetHClassAndDoAllocateEvent()
292 auto object = reinterpret_cast<TaggedObject *>(activeSemiSpace_->Allocate(size)); in TryAllocateYoungGeneration() local
293 if (object != nullptr) { in TryAllocateYoungGeneration()
294 object->SetClass(thread_, hclass); in TryAllocateYoungGeneration()
297 OnAllocateEvent(GetEcmaVM(), object, size); in TryAllocateYoungGeneration()
299 return object; in TryAllocateYoungGeneration()
311 TaggedObject *object = nullptr; in AllocateOldOrHugeObject() local
313 object = AllocateHugeObject(size); in AllocateOldOrHugeObject()
315 object = reinterpret_cast<TaggedObject *>(oldSpace_->AllocateFast(size)); in AllocateOldOrHugeObject()
316 if (object == nullptr) { in AllocateOldOrHugeObject()
318 object = reinterpret_cast<TaggedObject *>(oldSpace_->AllocateSlow(size, gcSuccess)); in AllocateOldOrHugeObject()
320 if (object == nullptr) { in AllocateOldOrHugeObject()
322 object = reinterpret_cast<TaggedObject *>(oldSpace_->AllocateSlow(size, true)); in AllocateOldOrHugeObject()
324 CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, oldSpace_, "Heap::AllocateOldOrHugeObject"); in AllocateOldOrHugeObject()
326 return object; in AllocateOldOrHugeObject()
331 auto object = AllocateOldOrHugeObject(size); in AllocateOldOrHugeObject() local
332 object->SetClass(thread_, hclass); in AllocateOldOrHugeObject()
334 OnAllocateEvent(GetEcmaVM(), reinterpret_cast<TaggedObject*>(object), size); in AllocateOldOrHugeObject()
336 return object; in AllocateOldOrHugeObject()
342 TaggedObject *object = AllocateReadOnlyOrHugeObject(hclass, size); in AllocateReadOnlyOrHugeObject() local
344 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateReadOnlyOrHugeObject()
346 return object; in AllocateReadOnlyOrHugeObject()
352 TaggedObject *object = nullptr; in AllocateReadOnlyOrHugeObject() local
354 object = AllocateHugeObject(hclass, size); in AllocateReadOnlyOrHugeObject()
356 object = reinterpret_cast<TaggedObject *>(readOnlySpace_->Allocate(size)); in AllocateReadOnlyOrHugeObject()
357 … CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, readOnlySpace_, "Heap::AllocateReadOnlyOrHugeObject"); in AllocateReadOnlyOrHugeObject()
358 ASSERT(object != nullptr); in AllocateReadOnlyOrHugeObject()
359 object->SetClass(thread_, hclass); in AllocateReadOnlyOrHugeObject()
362 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateReadOnlyOrHugeObject()
364 return object; in AllocateReadOnlyOrHugeObject()
370 TaggedObject *object = AllocateNonMovableOrHugeObject(hclass, size); in AllocateNonMovableOrHugeObject() local
371 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
372 LOG_ECMA(FATAL) << "Heap::AllocateNonMovableOrHugeObject:object is nullptr"; in AllocateNonMovableOrHugeObject()
375 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
377 return object; in AllocateNonMovableOrHugeObject()
383 TaggedObject *object = nullptr; in AllocateNonMovableOrHugeObject() local
385 object = AllocateHugeObject(hclass, size); in AllocateNonMovableOrHugeObject()
387 object = reinterpret_cast<TaggedObject *>(nonMovableSpace_->CheckAndAllocate(size)); in AllocateNonMovableOrHugeObject()
388 …CHECK_OBJ_AND_THROW_OOM_ERROR(object, size, nonMovableSpace_, "Heap::AllocateNonMovableOrHugeObjec… in AllocateNonMovableOrHugeObject()
389 object->SetClass(thread_, hclass); in AllocateNonMovableOrHugeObject()
392 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
394 return object; in AllocateNonMovableOrHugeObject()
400 auto object = reinterpret_cast<TaggedObject *>(nonMovableSpace_->Allocate(size)); in AllocateClassClass() local
401 if (UNLIKELY(object == nullptr)) { in AllocateClassClass()
405 *reinterpret_cast<MarkWordType *>(ToUintPtr(object)) = reinterpret_cast<MarkWordType>(hclass); in AllocateClassClass()
407 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateClassClass()
409 return object; in AllocateClassClass()
415 auto object = reinterpret_cast<TaggedObject *>(sReadOnlySpace_->Allocate(thread, size)); in AllocateClassClass() local
416 if (UNLIKELY(object == nullptr)) { in AllocateClassClass()
420 *reinterpret_cast<MarkWordType *>(ToUintPtr(object)) = reinterpret_cast<MarkWordType>(hclass); in AllocateClassClass()
422 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateClassClass()
424 return object; in AllocateClassClass()
432 auto *object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject() local
433 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
435 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
436 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
437 // if allocate huge object OOM, temporarily increase space size to avoid vm crash in AllocateHugeObject()
442 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
444 object = reinterpret_cast<TaggedObject *>(hugeObjectSpace_->Allocate(size, thread_)); in AllocateHugeObject()
445 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
450 return object; in AllocateHugeObject()
457 auto object = AllocateHugeObject(size); in AllocateHugeObject() local
458 object->SetClass(thread_, hclass); in AllocateHugeObject()
460 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateHugeObject()
462 return object; in AllocateHugeObject()
467 TaggedObject *object; in AllocateHugeMachineCodeObject() local
469 object = reinterpret_cast<TaggedObject *>(hugeMachineCodeSpace_->Allocate( in AllocateHugeMachineCodeObject()
472 object = reinterpret_cast<TaggedObject *>(hugeMachineCodeSpace_->Allocate( in AllocateHugeMachineCodeObject()
475 return object; in AllocateHugeMachineCodeObject()
480 TaggedObject *object; in AllocateMachineCodeObject() local
485 object = (size > MAX_REGULAR_HEAP_OBJECT_SIZE) ? in AllocateMachineCodeObject()
488 CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR(object, size, machineCodeSpace_, in AllocateMachineCodeObject()
490 object->SetClass(thread_, hclass); in AllocateMachineCodeObject()
492 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateMachineCodeObject()
494 return object; in AllocateMachineCodeObject()
502 // for non huge code cache obj, allocate fort space before allocating the code object in AllocateMachineCodeObject()
510 object = (size > MAX_REGULAR_HEAP_OBJECT_SIZE) ? in AllocateMachineCodeObject()
513 CHECK_MACHINE_CODE_OBJ_AND_SET_OOM_ERROR_FORT(object, size, machineCodeSpace_, desc, in AllocateMachineCodeObject()
515 object->SetClass(thread_, hclass); in AllocateMachineCodeObject()
517 OnAllocateEvent(GetEcmaVM(), object, size); in AllocateMachineCodeObject()
519 return object; in AllocateMachineCodeObject()
525 uintptr_t object = snapshotSpace_->Allocate(size); in AllocateSnapshotSpace() local
526 if (UNLIKELY(object == 0)) { in AllocateSnapshotSpace()
530 OnAllocateEvent(GetEcmaVM(), reinterpret_cast<TaggedObject *>(object), size); in AllocateSnapshotSpace()
532 return object; in AllocateSnapshotSpace()
549 TaggedObject *object = reinterpret_cast<TaggedObject*>(sNonMovableTlab_->Allocate(size)); in AllocateSharedNonMovableSpaceFromTlab() local
550 if (object != nullptr) { in AllocateSharedNonMovableSpaceFromTlab()
551 return object; in AllocateSharedNonMovableSpaceFromTlab()
558 object = sHeap_->AllocateSNonMovableTlab(thread, newTlabSize); in AllocateSharedNonMovableSpaceFromTlab()
559 if (object == nullptr) { in AllocateSharedNonMovableSpaceFromTlab()
563 uintptr_t begin = reinterpret_cast<uintptr_t>(object); in AllocateSharedNonMovableSpaceFromTlab()
569 return object; in AllocateSharedNonMovableSpaceFromTlab()
586 TaggedObject *object = reinterpret_cast<TaggedObject*>(sOldTlab_->Allocate(size)); in AllocateSharedOldSpaceFromTlab() local
587 if (object != nullptr) { in AllocateSharedOldSpaceFromTlab()
588 return object; in AllocateSharedOldSpaceFromTlab()
595 object = sHeap_->AllocateSOldTlab(thread, newTlabSize); in AllocateSharedOldSpaceFromTlab()
596 if (object == nullptr) { in AllocateSharedOldSpaceFromTlab()
600 uintptr_t begin = reinterpret_cast<uintptr_t>(object); in AllocateSharedOldSpaceFromTlab()
606 return object; in AllocateSharedOldSpaceFromTlab()
823 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
825 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
826 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
827 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
829 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
832 object->SetClass(thread, hclass); in AllocateNonMovableOrHugeObject()
835 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
837 return object; in AllocateNonMovableOrHugeObject()
846 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateNonMovableOrHugeObject() local
848 if (object == nullptr) { in AllocateNonMovableOrHugeObject()
849 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateNonMovableOrHugeObject()
850 CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sNonMovableSpace_, in AllocateNonMovableOrHugeObject()
855 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateNonMovableOrHugeObject()
857 return object; in AllocateNonMovableOrHugeObject()
872 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
874 if (object == nullptr) { in AllocateOldOrHugeObject()
875 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
876 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
877 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
880 object->SetClass(thread, hclass); in AllocateOldOrHugeObject()
883 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateOldOrHugeObject()
885 return object; in AllocateOldOrHugeObject()
894 TaggedObject *object = thread->IsJitThread() ? nullptr : in AllocateOldOrHugeObject() local
896 if (object == nullptr) { in AllocateOldOrHugeObject()
897 object = AllocateInSOldSpace(thread, size); in AllocateOldOrHugeObject()
898 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sOldSpace_, "SharedHeap::AllocateOldOrHugeObj… in AllocateOldOrHugeObject()
901 return object; in AllocateOldOrHugeObject()
912 …TaggedObject *object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, s… in AllocateInSOldSpace() local
914 if (object == nullptr) { in AllocateInSOldSpace()
918object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
919 if (object == nullptr) { in AllocateInSOldSpace()
923object = reinterpret_cast<TaggedObject *>(sOldSpace_->TryAllocateAndExpand(thread, size, true)); in AllocateInSOldSpace()
926 return object; in AllocateInSOldSpace()
931 auto object = AllocateHugeObject(thread, size); in AllocateHugeObject() local
932 object->SetClass(thread, hclass); in AllocateHugeObject()
934 OnAllocateEvent(thread->GetEcmaVM(), object, size); in AllocateHugeObject()
936 return object; in AllocateHugeObject()
943 auto *object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject() local
944 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
946 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
947 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
948 // if allocate huge object OOM, temporarily increase space size to avoid vm crash in AllocateHugeObject()
953 object = reinterpret_cast<TaggedObject *>(sHugeObjectSpace_->Allocate(thread, size)); in AllocateHugeObject()
954 if (UNLIKELY(object == nullptr)) { in AllocateHugeObject()
960 return object; in AllocateHugeObject()
975 auto object = reinterpret_cast<TaggedObject *>(sReadOnlySpace_->Allocate(thread, size)); in AllocateReadOnlyOrHugeObject() local
976 …CHECK_SOBJ_AND_THROW_OOM_ERROR(thread, object, size, sReadOnlySpace_, "SharedHeap::AllocateReadOnl… in AllocateReadOnlyOrHugeObject()
977 ASSERT(object != nullptr); in AllocateReadOnlyOrHugeObject()
978 object->SetClass(thread, hclass); in AllocateReadOnlyOrHugeObject()
979 return object; in AllocateReadOnlyOrHugeObject()
988 TaggedObject *object = nullptr; in AllocateSOldTlab() local
990 object = reinterpret_cast<TaggedObject *>(sOldSpace_->AllocateNoGCAndExpand(thread, size)); in AllocateSOldTlab()
992 object = AllocateInSOldSpace(thread, size); in AllocateSOldTlab()
994 return object; in AllocateSOldTlab()
1003 TaggedObject *object = nullptr; in AllocateSNonMovableTlab() local
1004 object = reinterpret_cast<TaggedObject *>(sNonMovableSpace_->Allocate(thread, size)); in AllocateSNonMovableTlab()
1005 return object; in AllocateSNonMovableTlab()
1129 JSNativePointer* object = *sharedIter; in ProcessSharedNativeDelete() local
1130 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessSharedNativeDelete()
1133object->GetDeleter(), std::make_pair(object->GetExternalPointer(), object->GetData())); in ProcessSharedNativeDelete()
1136 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessSharedNativeDelete()
1153 JSNativePointer* object = *iter; in ProcessNativeDelete() local
1154 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1156 size_t bindingSize = object->GetBindingSize(); in ProcessNativeDelete()
1157 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessNativeDelete()
1158 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessNativeDelete()
1159 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessNativeDelete()
1170 JSNativePointer* object = *newIter; in ProcessNativeDelete() local
1171 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessNativeDelete()
1173 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessNativeDelete()
1174 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessNativeDelete()
1175 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessNativeDelete()
1195 JSNativePointer* object = *iter; in ProcessReferences() local
1196 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1198 size_t bindingSize = object->GetBindingSize(); in ProcessReferences()
1199 asyncNativeCallbacksPack.AddCallback(std::make_pair(object->GetDeleter(), in ProcessReferences()
1200 …std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())), bindingSize); in ProcessReferences()
1201 nativeAreaAllocator_->DecreaseNativeSizeStats(bindingSize, object->GetNativeFlag()); in ProcessReferences()
1206 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1216 JSNativePointer* object = *newIter; in ProcessReferences() local
1217 auto fwd = visitor(reinterpret_cast<TaggedObject*>(object)); in ProcessReferences()
1219 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in ProcessReferences()
1220 concurrentNativeCallbacks.emplace_back(object->GetDeleter(), in ProcessReferences()
1221 … std::make_tuple(thread_->GetEnv(), object->GetExternalPointer(), object->GetData())); in ProcessReferences()
1226 if (fwd != reinterpret_cast<TaggedObject*>(object)) { in ProcessReferences()
1249 JSNativePointer* object = *iter; in RemoveFromNativePointerList() local
1250 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1251 object->Destroy(thread_); in RemoveFromNativePointerList()
1256 JSNativePointer* object = *newIter; in RemoveFromNativePointerList() local
1257 … nativeAreaAllocator_->DecreaseNativeSizeStats(object->GetBindingSize(), object->GetNativeFlag()); in RemoveFromNativePointerList()
1258 object->Destroy(thread_); in RemoveFromNativePointerList()