/arkcompiler/runtime_core/static_core/runtime/mem/ |
H A D | object_helpers.cpp | 57 static void DumpArrayClassObject(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStream) in DumpArrayClassObject() argument 59 auto *cls = objectHeader->ClassAddr<Class>(); in DumpArrayClassObject() 61 auto array = static_cast<coretypes::Array *>(objectHeader); in DumpArrayClassObject() 62 *oStream << "Array " << std::hex << objectHeader << " " << cls->GetComponentType()->GetName() in DumpArrayClassObject() 66 static void DumpStringClass(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStream) in DumpStringClass() argument 68 auto *strObject = static_cast<ark::coretypes::String *>(objectHeader); in DumpStringClass() 82 static void DumpReferenceField(ObjectHeader *objectHeader, const Field &field, in DumpReferenceField() argument 86 ObjectHeader *fieldObject = objectHeader->GetFieldObject(offset); in DumpReferenceField() 94 static void DumpPrimitivesField(ObjectHeader *objectHeader, const Field &field, in DumpPrimitivesField() argument 102 auto val = objectHeader in DumpPrimitivesField() 161 DumpObjectFields(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStream) DumpObjectFields() argument 176 DumpObject(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStream) DumpObject() argument 197 TraverseFields(const Span<Field> &fields, const Class *cls, const ObjectHeader *objectHeader, const FieldVisitor &fieldVisitor) TraverseFields() argument 236 GetForwardAddress(ObjectHeader *objectHeader) GetForwardAddress() argument 274 TraverseAllObjects(ObjectHeader *objectHeader, const std::function<void(ObjectHeader *, ObjectHeader *)> &objVisitor) TraverseAllObjects() argument 320 TraverseAllObjects(ObjectHeader *objectHeader, const std::function<void(ObjectHeader *, ObjectHeader *)> &objVisitor) TraverseAllObjects() argument [all...] |
H A D | heap_verifier.cpp | 45 void HeapReferenceVerifier<LANG_TYPE>::operator()([[maybe_unused]] ObjectHeader *objectHeader, ObjectHeader *referent) in operator ()() argument 56 LOG_HEAP_VERIFIER << "Heap corruption found! Heap object " << std::hex << objectHeader in operator ()() 60 LOG_HEAP_VERIFIER << "Heap corruption found! Heap object " << std::hex << objectHeader in operator ()() 163 auto lazyVerify = [&heapObjects, &referentObjects, &failsCount](const ObjectHeader *objectHeader, in VerifyAll() 167 referentObjects.push_back(ObjectCache({objectHeader, referent})); in VerifyAll() 169 if (objectHeader->IsForwarded()) { in VerifyAll() 170 LOG_HEAP_VERIFIER << "Heap object " << std::hex << objectHeader << " is forwarded object"; in VerifyAll() 173 auto *classAddr = objectHeader->ClassAddr<BaseClass>(); in VerifyAll() 175 LOG_HEAP_VERIFIER << "Heap object " << std::hex << objectHeader in VerifyAll() 222 bool ObjectVerificationInfo::VerifyUpdatedRef(ObjectHeader *objectHeader, ObjectHeade argument 273 AddToVerificationInfo(RefsVerificationInfo &verificationInfo, size_t refNumber, ObjectHeader *objectHeader, ObjectHeader *referent) AddToVerificationInfo() argument [all...] |
H A D | object_helpers.h | 96 void DumpObject(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStream = &std::cerr); 100 [[nodiscard]] ObjectHeader *GetForwardAddress(ObjectHeader *objectHeader); 112 static void TraverseAllObjects(ObjectHeader *objectHeader, 142 static bool TraverseObject(ObjectHeader *objectHeader, Class *cls, Handler &handler); 151 static void TraverseAllObjects(ObjectHeader *objectHeader, 164 static bool TraverseAllObjectsWithInfo(ObjectHeader *objectHeader, Handler &handler, void *begin = ToVoidPtr(0), 184 static bool TraverseObject(ObjectHeader *objectHeader, HClass *cls, Handler &handler); 188 static void UpdateDynObjectRef(PandaVM *vm, ObjectHeader *objectHeader, size_t offset, ObjectHeader *fieldObjRef);
|
H A D | tlab.h | 158 void IterateOverObjects(const std::function<void(ObjectHeader *objectHeader)> &objectVisitor); 165 void IterateOverObjectsInRange(const std::function<void(ObjectHeader *objectHeader)> &memVisitor, 177 IterateOverObjects([&](ObjectHeader *objectHeader) { in CollectAndMove() 179 if (deathChecker(objectHeader) == ObjectStatus::ALIVE_OBJECT) { in CollectAndMove() 180 LOG_TLAB_ALLOCATOR(DEBUG) << "CollectAndMove found alive object with addr " << objectHeader; in CollectAndMove() 181 objectMoveVisitor(objectHeader); in CollectAndMove()
|
H A D | tlab.cpp | 73 void TLAB::IterateOverObjects(const std::function<void(ObjectHeader *objectHeader)> &objectVisitor) in IterateOverObjects() 79 auto objectHeader = static_cast<ObjectHeader *>(curPtr); in IterateOverObjects() local 81 objectVisitor(objectHeader); in IterateOverObjects() 87 void TLAB::IterateOverObjectsInRange(const std::function<void(ObjectHeader *objectHeader)> &memVisitor, in IterateOverObjectsInRange() 102 auto objectHeader = static_cast<ObjectHeader *>(currentPtr); in IterateOverObjectsInRange() local 104 memVisitor(objectHeader); in IterateOverObjectsInRange()
|
H A D | object_helpers-inl.h | 141 bool GCStaticObjectHelpers::TraverseAllObjectsWithInfo(ObjectHeader *objectHeader, Handler &handler, void *begin, in TraverseAllObjectsWithInfo() argument 144 auto *cls = objectHeader->ClassAddr<Class>(); in TraverseAllObjectsWithInfo() 148 return TraverseArray<INTERRUPTIBLE>(static_cast<coretypes::Array *>(objectHeader), cls, begin, end, handler); in TraverseAllObjectsWithInfo() 151 auto objectCls = ark::Class::FromClassObject(objectHeader); in TraverseAllObjectsWithInfo() 158 return TraverseObject<INTERRUPTIBLE>(objectHeader, cls, handler); in TraverseAllObjectsWithInfo() 255 bool GCDynamicObjectHelpers::TraverseAllObjectsWithInfo(ObjectHeader *objectHeader, Handler &handler, void *begin, in TraverseAllObjectsWithInfo() argument 258 auto *cls = objectHeader->ClassAddr<HClass>(); in TraverseAllObjectsWithInfo() 264 return TraverseArray<INTERRUPTIBLE>(static_cast<coretypes::Array *>(objectHeader), cls, begin, end, handler); in TraverseAllObjectsWithInfo() 267 return TraverseClass<INTERRUPTIBLE>(coretypes::DynClass::Cast(objectHeader), handler); in TraverseAllObjectsWithInfo() 270 return TraverseObject<INTERRUPTIBLE>(objectHeader, cl in TraverseAllObjectsWithInfo() [all...] |
H A D | region_space-inl.h | 107 auto objectHeader = reinterpret_cast<ObjectHeader *>(curPtr); in IterateOverObjects() local 108 size_t objectSize = GetObjectSize(objectHeader); in IterateOverObjects() 109 visitor(objectHeader); in IterateOverObjects() 120 auto *objectHeader = reinterpret_cast<ObjectHeader *>(curPtr); in IterateOverObjects() local 121 size_t objectSize = GetObjectSize(objectHeader); in IterateOverObjects() 122 visitor(objectHeader); in IterateOverObjects()
|
H A D | bump-allocator-inl.h | 159 const std::function<void(ObjectHeader *objectHeader)> &objectVisitor) in IterateOverObjects() 166 auto objectHeader = static_cast<ObjectHeader *>(curPtr); in IterateOverObjects() local 168 objectVisitor(objectHeader); in IterateOverObjects() 218 auto *objectHeader = static_cast<ObjectHeader *>(currentPtr); in IterateOverObjectsInRange() local 220 memVisitor(objectHeader); in IterateOverObjectsInRange() 259 IterateOverObjects([&](ObjectHeader *objectHeader) { in CollectAndMove() 261 if (deathChecker(objectHeader) == ObjectStatus::ALIVE_OBJECT) { in CollectAndMove() 262 objectMoveVisitor(objectHeader); in CollectAndMove() 301 auto objectVisitor = [&result, obj](ObjectHeader *objectHeader) { in IsLive() 302 if (objectHeader in IsLive() [all...] |
H A D | heap_verifier.h | 34 void operator()(ObjectHeader *objectHeader, ObjectHeader *referent); 164 void AddToVerificationInfo(RefsVerificationInfo &verificationInfo, size_t refNumber, ObjectHeader *objectHeader,
|
H A D | humongous_obj_allocator-inl.h | 135 IterateOverObjects([this, &deathCheckerFn](ObjectHeader *objectHeader) { in Collect() 136 if (deathCheckerFn(objectHeader) == ObjectStatus::DEAD_OBJECT) { in Collect() 137 LOG(DEBUG, GC) << "DELETE OBJECT " << GetDebugInfoAboutObject(objectHeader); in Collect() 138 FreeUnsafe(objectHeader); in Collect()
|
/arkcompiler/runtime_core/static_core/runtime/mem/gc/gen-gc/ |
H A D | gen-gc.cpp | 207 ObjectChecker tenuredRangeYoungObjectChecker = [&youngMr](const ObjectHeader *objectHeader) -> bool { in MarkYoung() 208 return youngMr.IsAddressInRange(ToUintPtr(objectHeader)); in MarkYoung() 211 ObjectChecker fromObjectChecker = []([[maybe_unused]] const ObjectHeader *objectHeader) -> bool { in MarkYoung() 298 std::function<void(ObjectHeader * objectHeader)> moveVisitor( in CollectYoungAndMove() 300 &youngDeleteCount](ObjectHeader *objectHeader) -> void { in CollectYoungAndMove() 301 size_t size = GetObjectSize(objectHeader); in CollectYoungAndMove() 305 if (objectHeader->IsMarkedForGC<false>()) { in CollectYoungAndMove() 308 memcpy_s(dst, size, objectHeader, size); in CollectYoungAndMove() 311 LOG_DEBUG_OBJECT_EVENTS << "MOVE object " << objectHeader << " -> " << dst << ", size = " << size; in CollectYoungAndMove() 315 this->SetForwardAddress(objectHeader, ds in CollectYoungAndMove() 572 UnMarkObject(ObjectHeader *objectHeader) UnMarkObject() argument [all...] |
/arkcompiler/runtime_core/static_core/runtime/mem/gc/dynamic/ |
H A D | gc_marker_dynamic-inl.h | 51 ObjectHeader *objectHeader = taggedValue.GetHeapObject(); in HandleObject() local 52 if (AsMarker()->MarkIfNotMarked(objectHeader)) { in HandleObject() 53 objectsStack->PushToStack(object, objectHeader); in HandleObject() 76 ObjectHeader *objectHeader = taggedValue.GetHeapObject(); in HandleClass() local 77 if (AsMarker()->MarkIfNotMarked(objectHeader)) { in HandleClass() 78 objectsStack->PushToStack(cls, objectHeader); in HandleClass()
|
/arkcompiler/runtime_core/static_core/runtime/mem/gc/ |
H A D | gc_root.cpp | 121 &fromObjectChecker](ObjectHeader *objectHeader) { in VisitCardTableRoots() 132 if (objectHeader->ClassAddr<BaseClass>() != nullptr && fromObjectChecker(objectHeader)) { in VisitCardTableRoots() 135 ObjectHelpers<LanguageConfig::LANG_TYPE>::TraverseAllObjects(objectHeader, in VisitCardTableRoots() 183 ObjectHeader *objectHeader = vRegister.GetReference(); in VisitRegisterRoot() local 184 if (objectHeader != nullptr) { in VisitRegisterRoot() 185 LOG(DEBUG, GC) << " Found root for register" << GetDebugInfoAboutObject(objectHeader); in VisitRegisterRoot() 186 gcRootVisitor({RootType::ROOT_FRAME, objectHeader}); in VisitRegisterRoot()
|
H A D | generational-gc-base-inl.h | 113 ObjectChecker tenuredObjectChecker = [&allocator](const ObjectHeader *objectHeader) -> bool { in VisitCardTableConcurrent() 114 return !allocator->IsObjectInYoungSpace(objectHeader); in VisitCardTableConcurrent() 116 ObjectChecker fromObjectChecker = [marker](const ObjectHeader *objectHeader) -> bool { in VisitCardTableConcurrent() 117 return marker->IsMarked(objectHeader); in VisitCardTableConcurrent()
|
H A D | gc.cpp | 432 bool GC::MarkObjectIfNotMarked(ObjectHeader *objectHeader) in MarkObjectIfNotMarked() argument 434 ASSERT(objectHeader != nullptr); in MarkObjectIfNotMarked() 435 if (IsMarked(objectHeader)) { in MarkObjectIfNotMarked() 438 MarkObject(objectHeader); in MarkObjectIfNotMarked() 938 ObjectHeader *objectHeader = vreg.GetReference(); in UpdateRefsInVRegs() 939 if (objectHeader == nullptr) { in UpdateRefsInVRegs() 942 MarkWord markWord = objectHeader->AtomicGetMark(); in UpdateRefsInVRegs() 947 LOG_DEBUG_GC << "Update vreg, vreg old val = " << std::hex << objectHeader << ", new val = 0x" << addr; in UpdateRefsInVRegs()
|
/arkcompiler/runtime_core/static_core/runtime/mem/gc/lang/ |
H A D | gc_lang.cpp | 84 ObjectHeader *objectHeader = monitor->GetObject(); in CommonUpdateRefsToMovedObjects() 85 if (objectHeader == nullptr) { in CommonUpdateRefsToMovedObjects() 88 MarkWord markWord = objectHeader->AtomicGetMark(); in CommonUpdateRefsToMovedObjects() 92 << objectHeader << ", new val = 0x" << addr; in CommonUpdateRefsToMovedObjects()
|
/arkcompiler/ets_runtime/ecmascript/snapshot/mem/ |
H A D | snapshot_processor.h | 64 void SerializeObject(TaggedObject *objectHeader, CQueue<TaggedObject *> *queue, 71 uintptr_t GetNewObj(size_t objectSize, TaggedObject *objectHeader); 72 EncodeBit EncodeTaggedObject(TaggedObject *objectHeader, CQueue<TaggedObject *> *queue, 121 EncodeBit SerializeObjectHeader(TaggedObject *objectHeader, size_t objectType, CQueue<TaggedObject *> *queue, 125 void DeserializeField(TaggedObject *objectHeader);
|
H A D | snapshot_processor.cpp | 1430 void SnapshotProcessor::SerializeObject(TaggedObject *objectHeader, CQueue<TaggedObject *> *queue, in SerializeObject() argument 1433 auto hclass = objectHeader->GetClass(); in SerializeObject() 1436 if (UNLIKELY(data->find(ToUintPtr(objectHeader)) == data->end())) { in SerializeObject() 1440 snapshotObj = data->find(ToUintPtr(objectHeader))->second.first; in SerializeObject() 1444 EncodeBit encodeBit = SerializeObjectHeader(objectHeader, static_cast<size_t>(objectType), queue, data); in SerializeObject() 1466 ObjectXRay::VisitObjectBody<VisitType::SNAPSHOT_VISIT>(objectHeader, objectHeader->GetClass(), visitor); in SerializeObject() 1545 TaggedObject *objectHeader = reinterpret_cast<TaggedObject *>(begin); in RelocateSpaceObject() 1546 DeserializeClassWord(objectHeader); in RelocateSpaceObject() 1547 DeserializeField(objectHeader); in RelocateSpaceObject() 1570 SerializeObjectHeader(TaggedObject *objectHeader, size_t objectType, CQueue<TaggedObject *> *queue, std::unordered_map<uint64_t, ObjectEncode> *data) SerializeObjectHeader() argument 1680 DeserializeField(TaggedObject *objectHeader) DeserializeField() argument 1798 GetNewObj(size_t objectSize, TaggedObject *objectHeader) GetNewObj() argument 1820 EncodeTaggedObject(TaggedObject *objectHeader, CQueue<TaggedObject *> *queue, std::unordered_map<uint64_t, ObjectEncode> *data) EncodeTaggedObject() argument [all...] |
H A D | snapshot.h | 38 void Serialize(TaggedObject *objectHeader, const JSPandaFile *jsPandaFile, const CString &fileName = "./snapshot");
|
H A D | snapshot.cpp | 35 void Snapshot::Serialize(TaggedObject *objectHeader, const JSPandaFile *jsPandaFile, const CString &fileName) in Serialize() argument 54 if (objectHeader->GetClass()->GetObjectType() == JSType::PROGRAM) { in Serialize() 58 processor.EncodeTaggedObject(objectHeader, &objectQueue, &data); in Serialize()
|
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/types/ |
H A D | ets_object.h | 172 static constexpr EtsObject *FromCoreType(ObjectHeader *objectHeader) in FromCoreType() argument 174 return static_cast<EtsObject *>(objectHeader); in FromCoreType() 177 static constexpr const EtsObject *FromCoreType(const ObjectHeader *objectHeader) in FromCoreType() argument 179 return static_cast<const EtsObject *>(objectHeader); in FromCoreType()
|
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/intrinsics/helpers/ |
H A D | ets_to_string_cache.h | 60 static Derived *FromCoreType(ObjectHeader *objectHeader) in FromCoreType() argument 62 return reinterpret_cast<Derived *>(objectHeader); in FromCoreType()
|
/arkcompiler/runtime_core/static_core/runtime/core/ |
H A D | core_class_linker_extension.cpp | 318 ObjectHeader *objectHeader; in CreateClass() local 320 objectHeader = heapManager->AllocateNonMovableObject<true>(classRoot, coretypes::Class::GetSize(size)); in CreateClass() 322 objectHeader = heapManager->AllocateNonMovableObject<false>(classRoot, coretypes::Class::GetSize(size)); in CreateClass() 325 if (UNLIKELY(objectHeader == nullptr)) { in CreateClass() 329 auto *res = reinterpret_cast<coretypes::Class *>(objectHeader); in CreateClass()
|
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/ |
H A D | ets_class_linker_extension.cpp | 381 Class *EtsClassLinkerExtension::InitializeClass(ObjectHeader *objectHeader, const uint8_t *descriptor, in InitializeClass() argument 384 auto managedClass = reinterpret_cast<EtsClass *>(objectHeader); in InitializeClass() 387 klass->SetManagedObject(objectHeader); in InitializeClass() 424 auto objectHeader = heapManager_->AllocateNonMovableObject<true>(nullptr, EtsClass::GetSize(size)); in CreateClassRoot() local 425 ASSERT(objectHeader != nullptr); in CreateClassRoot() 427 klass = InitializeClass(objectHeader, descriptor, vtableSize, imtSize, size); in CreateClassRoot()
|
/arkcompiler/runtime_core/static_core/runtime/mem/gc/g1/ |
H A D | g1-gc.cpp | 232 auto promotionDeathChecker = [this, &deadMoveCount](ObjectHeader *objectHeader) { in RegionPromotionImpl() 233 if (IsMarked(objectHeader)) { in RegionPromotionImpl() 237 LOG_DEBUG_OBJECT_EVENTS << "PROMOTE DEAD YOUNG object " << objectHeader; in RegionPromotionImpl() 291 ObjectStatus operator()(ObjectHeader *objectHeader) in operator ()() argument 296 if (objectHeader->template ClassAddr<BaseClass>() == nullptr) { in operator ()() 300 Region *region = ObjectToRegion(objectHeader); in operator ()() 302 if (liveBitmap->AtomicTest(objectHeader)) { in operator ()() 306 if (ObjectHelpers<LanguageConfig::LANG_TYPE>::IsClassObject(objectHeader)) { in operator ()() 307 LOG_DEBUG_OBJECT_EVENTS << "DELETE NON MOVABLE class object " << objectHeader in operator ()() local 314 LOG_DEBUG_OBJECT_EVENTS << "DELETE HUMONGOUS object " << objectHeader; in operator ()() local 320 LOG_DEBUG_OBJECT_EVENTS << "DELETE NON MOVABLE object " << objectHeader; operator ()() local [all...] |