| /arkcompiler/runtime_core/static_core/runtime/mem/ |
| D | object_helpers.h | 48 return static_cast<const ObjectHeader *>(mem)->ObjectSize(); in GetObjectSize() 51 Logger::Buffer GetDebugInfoAboutObject(const ObjectHeader *header); 55 return GetAlignedObjectSize(ObjectHeader::ObjectHeaderSize()); in GetMinimalObjectSize() 64 …ne void ValidateObject([[maybe_unused]] const ObjectHeader *fromObject, [[maybe_unused]] const Obj… in ValidateObject() 85 inline void ValidateObject([[maybe_unused]] RootType rootType, [[maybe_unused]] const ObjectHeader … in ValidateObject() 96 void DumpObject(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStre… 100 [[nodiscard]] ObjectHeader *GetForwardAddress(ObjectHeader *objectHeader); 109 static inline bool IsClassObject(ObjectHeader *obj); 112 static void TraverseAllObjects(ObjectHeader *objectHeader, 113 … const std::function<void(ObjectHeader *, ObjectHeader *)> &objVisitor); [all …]
|
| D | object_helpers.cpp | 34 Logger::Buffer GetDebugInfoAboutObject(const ObjectHeader *header) in GetDebugInfoAboutObject() 57 void DumpObject(ObjectHeader *objectHeader, std::basic_ostream<char, std::char_traits<char>> *oStre… in DumpObject() 91 ObjectHeader *fieldObject = objectHeader->GetFieldObject(offset); in DumpObject() 166 void TraverseFields(const Span<Field> &fields, const Class *cls, const ObjectHeader *objectHeader, in TraverseFields() 174 ObjectHeader *fieldObject = objectHeader->GetFieldObject(offset); in TraverseFields() 190 … std::function<void(const Class *, const ObjectHeader *, const Field *, ObjectHeader *)> fieldDump( in DumpClass() 191 …[oStream]([[maybe_unused]] const Class *kls, [[maybe_unused]] const ObjectHeader *obj, const Field… in DumpClass() 192 ObjectHeader *fieldObject) { in DumpClass() 199 ObjectHeader *clsObject = cls->GetManagedObject(); in DumpClass() 205 ObjectHeader *GetForwardAddress(ObjectHeader *objectHeader) in GetForwardAddress() [all …]
|
| D | heap_verifier.cpp | 38 void HeapObjectVerifier<LANG_TYPE>::operator()(ObjectHeader *obj) in operator ()() 45 …ferenceVerifier<LANG_TYPE>::operator()([[maybe_unused]] ObjectHeader *objectHeader, ObjectHeader *… in operator ()() 96 return heap_->ContainObject(reinterpret_cast<ObjectHeader *>(addr)); in IsHeapAddress() 130 PandaUnorderedSet<const ObjectHeader *> heapObjects; in VerifyAll() 134 … auto lazyVerify = [&heapObjects, &referentObjects, &failsCount](const ObjectHeader *objectHeader, in VerifyAll() 135 const ObjectHeader *referent) { in VerifyAll() 151 const std::function<void(ObjectHeader *, ObjectHeader *)> lazyVerifyFunctor(lazyVerify); in VerifyAll() 152 auto collectObjects = [&heapObjects, &lazyVerifyFunctor](ObjectHeader *object) { in VerifyAll() 207 ObjectVerificationInfo::ObjectVerificationInfo(ObjectHeader *referent) in ObjectVerificationInfo() 212 bool ObjectVerificationInfo::VerifyUpdatedRef(ObjectHeader *objectHeader, ObjectHeader *updatedRef, in VerifyUpdatedRef() [all …]
|
| D | heap_verifier.h | 34 void operator()(ObjectHeader *objectHeader, ObjectHeader *referent); 54 void operator()(ObjectHeader *obj); 115 const ObjectHeader *heapObject; 116 const ObjectHeader *referent; 122 explicit ObjectVerificationInfo(ObjectHeader *referent); 136 bool VerifyUpdatedRef(ObjectHeader *object, ObjectHeader *updatedRef, bool inAliveSpace) const; 140 ObjectHeader *oldAddress_ = nullptr; 157 using RefsVerificationInfo = PandaUnorderedMap<ObjectHeader *, VerifyingRefs>; 159 bool InCollectableSpace(const ObjectHeader *object) const; 160 bool InAliveSpace(const ObjectHeader *object) const; [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/include/ |
| D | object_header-inl.h | 26 uint32_t ObjectHeader::GetHashCode() in GetHashCode() 36 inline bool ObjectHeader::IsInstanceOf(const Class *klass) const in IsInstanceOf() 43 inline T ObjectHeader::GetFieldPrimitive(size_t offset) const in GetFieldPrimitive() 49 inline void ObjectHeader::SetFieldPrimitive(size_t offset, T value) in SetFieldPrimitive() 55 inline ObjectHeader *ObjectHeader::GetFieldObject(int offset) const in GetFieldObject() 61 inline void ObjectHeader::SetFieldObject(size_t offset, ObjectHeader *value) in SetFieldObject() 67 inline T ObjectHeader::GetFieldPrimitive(const Field &field) const in GetFieldPrimitive() 73 inline void ObjectHeader::SetFieldPrimitive(const Field &field, T value) in SetFieldPrimitive() 79 inline ObjectHeader *ObjectHeader::GetFieldObject(const Field &field) const in GetFieldObject() 85 inline void ObjectHeader::SetFieldObject(const Field &field, ObjectHeader *value) in SetFieldObject() [all …]
|
| D | object_header.h | 57 class PANDA_PUBLIC_API ObjectHeader { 128 return sizeof(ObjectHeader); in ObjectHeaderSize() 133 return MEMBER_OFFSET(ObjectHeader, classWord_); in GetClassOffset() 138 return MEMBER_OFFSET(ObjectHeader, markWord_); in GetMarkWordOffset() 210 ObjectHeader *GetFieldObject(int offset) const; 213 void SetFieldObject(size_t offset, ObjectHeader *value); 222 ObjectHeader *GetFieldObject(const Field &field) const; 225 void SetFieldObject(const Field &field, ObjectHeader *value); 229 ObjectHeader *GetFieldObject(const ManagedThread *thread, const Field &field); 232 void SetFieldObject(const ManagedThread *thread, const Field &field, ObjectHeader *value); [all …]
|
| D | object_accessor-inl.h | 30 inline ObjectHeader *ObjectAccessor::GetObject(const void *obj, size_t offset) in GetObject() 34 return reinterpret_cast<ObjectHeader *>(Get<ObjectPointerType, IS_VOLATILE>(obj, offset)); in GetObject() 36 return Get<ObjectHeader *, IS_VOLATILE>(obj, offset); in GetObject() 41 inline void ObjectAccessor::SetObject(void *obj, size_t offset, ObjectHeader *value) in SetObject() 47 ObjectHeader *preVal = GetObject<IS_VOLATILE, false, IS_DYN>(obj, offset); in SetObject() 54 Set<ObjectHeader *, IS_VOLATILE>(obj, offset, value); in SetObject() 64 Set<ObjectHeader *, IS_VOLATILE>(obj, offset, value); in SetObject() 71 inline ObjectHeader *ObjectAccessor::GetObject([[maybe_unused]] const ManagedThread *thread, const … in GetObject() 76 return reinterpret_cast<ObjectHeader *>(Get<ObjectPointerType, IS_VOLATILE>(obj, offset)); in GetObject() 78 return Get<ObjectHeader *, IS_VOLATILE>(obj, offset); in GetObject() [all …]
|
| D | thread-inl.h | 63 inline void ManagedThread::PushHandleScope<ObjectHeader *>(HandleScope<ObjectHeader *> *handleScope) 69 inline HandleScope<ObjectHeader *> *ManagedThread::PopHandleScope<ObjectHeader *>() 71 HandleScope<ObjectHeader *> *scope = objectHeaderHandleScopes_.back(); 77 inline HandleScope<ObjectHeader *> *ManagedThread::GetTopScope<ObjectHeader *>() const 86 inline HandleStorage<ObjectHeader *> *ManagedThread::GetHandleStorage<ObjectHeader *>() const
|
| D | value.h | 29 class ObjectHeader; variable 51 …} else if constexpr (std::is_pointer_v<T> && std::is_base_of_v<ObjectHeader, std::remove_pointer_t… in Value() 52 value_ = static_cast<ObjectHeader *>(value); in Value() 70 return std::holds_alternative<ObjectHeader *>(value_); in IsReference() 78 ObjectHeader **GetGCRoot() in GetGCRoot() 81 return &std::get<ObjectHeader *>(value_); in GetGCRoot() 94 std::variant<int64_t, ObjectHeader *> value_;
|
| D | object_accessor.h | 24 class ObjectHeader; variable 43 static ObjectHeader *GetObject(const void *obj, size_t offset); 46 static void SetObject(void *obj, size_t offset, ObjectHeader *value); 55 static ObjectHeader *GetFieldObject(const void *obj, const Field &field); 58 static void SetFieldObject(void *obj, const Field &field, ObjectHeader *value); 62 static ObjectHeader *GetObject(const ManagedThread *thread, const void *obj, size_t offset); 65 … static void SetObject(const ManagedThread *thread, void *obj, size_t offset, ObjectHeader *value); 68 …static ObjectHeader *GetFieldObject(const ManagedThread *thread, const void *obj, const Field &fie… 71 …id SetFieldObject(const ManagedThread *thread, void *obj, const Field &field, ObjectHeader *value); 80 static ObjectHeader *GetFieldObject(const void *obj, int offset, std::memory_order memoryOrder); [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/tests/ |
| D | pygote_space_allocator_test_base.h | 99 auto nonMovableHeader = panda::ObjectHeader::CreateNonMovable(cls); in InitAllocTest() 101 ASSERT_TRUE(pygoteSpaceAllocator->ContainObject(static_cast<ObjectHeader *>(nonMovableHeader))); in InitAllocTest() 102 ASSERT_TRUE(pygoteSpaceAllocator->IsLive(static_cast<ObjectHeader *>(nonMovableHeader))); in InitAllocTest() 104 auto movableHeader = panda::ObjectHeader::Create(cls); in InitAllocTest() 106 ASSERT_FALSE(pygoteSpaceAllocator->ContainObject(static_cast<ObjectHeader *>(movableHeader))); in InitAllocTest() 109 ASSERT_TRUE(pygoteSpaceAllocator->ContainObject(static_cast<ObjectHeader *>(nonMovableHeader))); in InitAllocTest() 110 ASSERT_FALSE(pygoteSpaceAllocator->IsLive(static_cast<ObjectHeader *>(nonMovableHeader))); in InitAllocTest() 120 auto nonMovableHeader = panda::ObjectHeader::CreateNonMovable(cls); in ForkedAllocTest() 122 … ASSERT_FALSE(pygoteSpaceAllocator->ContainObject(static_cast<ObjectHeader *>(nonMovableHeader))); in ForkedAllocTest() 124 auto movableHeader = panda::ObjectHeader::Create(cls); in ForkedAllocTest() [all …]
|
| D | g1gc_test.cpp | 120 explicit RemSetChecker(GC *gc, ObjectHeader *obj, ObjectHeader *ref) in RemSetChecker() 148 ObjectHeader *object = obj_.GetPtr(); in Check() 149 …remset->IterateOverObjects([object, &hasObject](ObjectHeader *obj) { hasObject |= object == obj; }… in Check() 156 VMHandle<ObjectHeader> obj_; 157 VMHandle<ObjectHeader> ref_; 165 [[maybe_unused]] HandleScope<ObjectHeader *> scope(thread); in TEST_F() 167 … VMHandle<ObjectHeader> young(thread, ObjectAllocator::AllocArray(0, ClassRoot::ARRAY_U8, false)); in TEST_F() 169 …VMHandle<ObjectHeader> nonmovable(thread, ObjectAllocator::AllocArray(0, ClassRoot::ARRAY_U8, true… in TEST_F() 171 …VMHandle<ObjectHeader> humongous(thread, ObjectAllocator::AllocArray(humongousLen, ClassRoot::ARRA… in TEST_F() 179 [&hasYoungObj, &young](ObjectHeader *obj) { hasYoungObj |= obj == young.GetPtr(); }); in TEST_F() [all …]
|
| D | object_helpers_test.cpp | 94 ObjectHeader *NewTestInstance(const char *source) in NewTestInstance() 111 ObjectHeader *AllocObject(Class *klass) in AllocObject() 139 auto handler = [&found]([[maybe_unused]] ObjectHeader *obj, [[maybe_unused]] ObjectHeader *ref, in TEST_F() 160 ObjectHeader *expected = AllocString(); in TEST_F() 165 …auto handler = [klass, &count, expected](ObjectHeader *obj, ObjectHeader *ref, uint32_t offset, bo… in TEST_F() 189 ObjectHeader *expected = AllocString(); in TEST_F() 194 …auto handler = [klass, &count, expected](ObjectHeader *obj, ObjectHeader *ref, uint32_t offset, bo… in TEST_F() 208 ObjectHeader *object = NewTestInstance(R"( in TEST_F() 220 ObjectHeader *expected = AllocString(); in TEST_F() 225 …auto handler = [object, &count, expected](ObjectHeader *obj, ObjectHeader *ref, uint32_t offset, b… in TEST_F() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/runtime/types/ |
| D | ets_string_builder.h | 25 EtsString *StringBuilderToString(ObjectHeader *sb); 26 ObjectHeader *StringBuilderAppendString(ObjectHeader *sb, EtsString *str); 27 ObjectHeader *StringBuilderAppendBool(ObjectHeader *sb, EtsBoolean v); 28 ObjectHeader *StringBuilderAppendChar(ObjectHeader *sb, EtsChar v); 29 ObjectHeader *StringBuilderAppendLong(ObjectHeader *sb, EtsLong v);
|
| D | ets_object.h | 29 class EtsObject : private ObjectHeader { 123 reinterpret_cast<ObjectHeader *>(value)); in SetFieldObject() 131 … reinterpret_cast<ObjectHeader *>(value)); in SetFieldObject() 134 … reinterpret_cast<ObjectHeader *>(value)); in SetFieldObject() 141 GetCoreType()->SetFieldObject<IS_VOLATILE>(offset, reinterpret_cast<ObjectHeader *>(value)); in SetFieldObject() 158 … return GetCoreType()->CompareAndSetFieldObject(offset, reinterpret_cast<ObjectHeader *>(oldValue), in CompareAndSetFieldObject() 159 … reinterpret_cast<ObjectHeader *>(newValue), memoryOrder, strong); in CompareAndSetFieldObject() 164 return FromCoreType(ObjectHeader::Clone(GetCoreType())); in Clone() 167 ObjectHeader *GetCoreType() const in GetCoreType() 169 return static_cast<ObjectHeader *>(const_cast<EtsObject *>(this)); in GetCoreType() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/runtime/intrinsics/ |
| D | std_core_StringBuilder.cpp | 74 ObjectHeader *StdCoreStringBuilderAppendString(ObjectHeader *sb, EtsString *str) in StdCoreStringBuilderAppendString() 79 ObjectHeader *StdCoreStringBuilderAppendBool(ObjectHeader *sb, EtsBoolean v) in StdCoreStringBuilderAppendBool() 84 ObjectHeader *StdCoreStringBuilderAppendChar(ObjectHeader *sb, EtsChar v) in StdCoreStringBuilderAppendChar() 89 ObjectHeader *StdCoreStringBuilderAppendLong(ObjectHeader *sb, EtsLong v) in StdCoreStringBuilderAppendLong() 94 ObjectHeader *StdCoreStringBuilderAppendByte(ObjectHeader *sb, EtsByte v) in StdCoreStringBuilderAppendByte() 99 ObjectHeader *StdCoreStringBuilderAppendShort(ObjectHeader *sb, EtsShort v) in StdCoreStringBuilderAppendShort() 104 ObjectHeader *StdCoreStringBuilderAppendInt(ObjectHeader *sb, EtsInt v) in StdCoreStringBuilderAppendInt() 109 EtsString *StdCoreStringBuilderToString(ObjectHeader *sb) in StdCoreStringBuilderToString()
|
| D | std_core_Console.cpp | 27 extern "C" EtsVoid *StdConsolePrintln(ObjectHeader *header [[maybe_unused]]) in StdConsolePrintln() 33 extern "C" EtsVoid *StdConsolePrintBool([[maybe_unused]] ObjectHeader *header, uint8_t b) in StdConsolePrintBool() 43 extern "C" EtsVoid *StdConsolePrintChar([[maybe_unused]] ObjectHeader *header, uint16_t c) in StdConsolePrintChar() 50 extern "C" EtsVoid *StdConsolePrintString([[maybe_unused]] ObjectHeader *header, EtsString *str) in StdConsolePrintString() 56 extern "C" EtsVoid *StdConsolePrintI32([[maybe_unused]] ObjectHeader *header, int32_t v) in StdConsolePrintI32() 62 extern "C" EtsVoid *StdConsolePrintI16([[maybe_unused]] ObjectHeader *header, int16_t v) in StdConsolePrintI16() 68 extern "C" EtsVoid *StdConsolePrintI8([[maybe_unused]] ObjectHeader *header, int8_t v) in StdConsolePrintI8() 74 extern "C" EtsVoid *StdConsolePrintI64([[maybe_unused]] ObjectHeader *header, int64_t v) in StdConsolePrintI64()
|
| /arkcompiler/runtime_core/static_core/runtime/ |
| D | object_header.cpp | 41 ObjectHeader *ObjectHeader::CreateObject(ManagedThread *thread, panda::BaseClass *klass, bool nonMo… in CreateObject() 56 ObjectHeader *obj {nullptr}; in CreateObject() 68 ObjectHeader *ObjectHeader::CreateObject(panda::BaseClass *klass, bool nonMovable) in CreateObject() 74 ObjectHeader *ObjectHeader::Create(ManagedThread *thread, BaseClass *klass) in Create() 79 ObjectHeader *ObjectHeader::Create(BaseClass *klass) in Create() 85 ObjectHeader *ObjectHeader::CreateNonMovable(BaseClass *klass) in CreateNonMovable() 90 uint32_t ObjectHeader::GetHashCodeFromMonitor(Monitor *monitorP) in GetHashCodeFromMonitor() 95 uint32_t ObjectHeader::GetHashCodeMTSingle() in GetHashCodeMTSingle() 114 uint32_t ObjectHeader::GetHashCodeMTMulti() in GetHashCodeMTMulti() 116 ObjectHeader *currentObj = this; in GetHashCodeMTMulti() [all …]
|
| D | monitor.h | 28 class ObjectHeader; variable 97 PANDA_PUBLIC_API static Monitor::State MonitorEnter(ObjectHeader *obj, bool trylock = false); 99 static void InflateThinLock(MTManagedThread *thread, const VMHandle<ObjectHeader> &obj); 101 PANDA_PUBLIC_API static Monitor::State MonitorExit(ObjectHeader *obj); 113 …PANDA_PUBLIC_API static State Wait(ObjectHeader *obj, ThreadStatus status, uint64_t timeout, uint6… 116 static State Notify(ObjectHeader *obj); 118 static State NotifyAll(ObjectHeader *obj); 132 static bool Inflate(ObjectHeader *obj, MTManagedThread *thread); 141 static bool Deflate(ObjectHeader *obj); 143 PANDA_PUBLIC_API static uint8_t HoldsLock(ObjectHeader *obj); [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/mem/gc/ |
| D | gc_adaptive_stack.h | 35 using ObjectVisitor = std::function<void(const ObjectHeader *)>; 36 using MarkedObjects = PandaVector<PandaDeque<ObjectHeader *> *>; 40 … uint64_t timeLimitForNewTaskCreation = 0, PandaDeque<ObjectHeader *> *stackSrc = nullptr); 51 void PushToStack(const ObjectHeader *fromObject, ObjectHeader *object); 58 void PushToStack(RootType rootType, ObjectHeader *object); 65 ObjectHeader *PopFromStack(); 82 PandaDeque<ObjectHeader *> *MoveStacksPointers(); 98 void PushToStack(ObjectHeader *element); 107 PandaDeque<ObjectHeader *> *stackSrc_; 108 PandaDeque<ObjectHeader *> *stackDst_;
|
| D | gc_adaptive_stack.cpp | 23 … uint64_t timeLimitForNewTaskCreation, PandaDeque<ObjectHeader *> *stackSrc) in GCAdaptiveStack() 36 stackSrc_ = allocator->template New<PandaDeque<ObjectHeader *>>(allocator->Adapter()); in GCAdaptiveStack() 38 stackDst_ = allocator->template New<PandaDeque<ObjectHeader *>>(allocator->Adapter()); in GCAdaptiveStack() 57 PandaDeque<ObjectHeader *> *GCAdaptiveStack::MoveStacksPointers() in MoveStacksPointers() 60 PandaDeque<ObjectHeader *> *returnValue = stackSrc_; in MoveStacksPointers() 65 void GCAdaptiveStack::PushToStack(const ObjectHeader *fromObject, ObjectHeader *object) in PushToStack() 73 void GCAdaptiveStack::PushToStack(RootType rootType, ObjectHeader *object) in PushToStack() 80 void GCAdaptiveStack::PushToStack(ObjectHeader *element) in PushToStack() 97 stackDst_ = allocator->template New<PandaDeque<ObjectHeader *>>(allocator->Adapter()); in PushToStack() 135 ObjectHeader *GCAdaptiveStack::PopFromStack() in PopFromStack() [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/mem/gc/g1/ |
| D | ref_updater.h | 27 bool operator()(ObjectHeader *object, ObjectHeader *ref, uint32_t offset, in operator() 42 virtual void Process(ObjectHeader *object, size_t offset, ObjectHeader *ref) const = 0; 44 bool IsSameRegion(ObjectHeader *o1, ObjectHeader *o2) const in IsSameRegion() 50 …ObjectHeader *UpdateRefToMovedObject(ObjectHeader *object, ObjectHeader *ref, uint32_t offset) con… 61 void Process(ObjectHeader *object, size_t offset, ObjectHeader *ref) const override; 74 void Process(ObjectHeader *object, size_t offset, ObjectHeader *ref) const override in Process()
|
| D | g1-marker.h | 26 ALWAYS_INLINE bool MarkIfNotMarked(ObjectHeader *object) const in MarkIfNotMarked() 33 ALWAYS_INLINE static bool IsMarked(const ObjectHeader *object) in IsMarked() 40 ALWAYS_INLINE static void Mark(ObjectHeader *object) in Mark() 56 ALWAYS_INLINE bool MarkIfNotMarked(ObjectHeader *object) const in MarkIfNotMarked() 65 ALWAYS_INLINE bool IsMarked(const ObjectHeader *object) const in IsMarked() 72 ALWAYS_INLINE void Mark(ObjectHeader *object) in Mark() 85 ALWAYS_INLINE bool MarkIfNotMarked(ObjectHeader *object) const in MarkIfNotMarked() 96 ALWAYS_INLINE bool MarkIfNotMarkedInCollectionSet(ObjectHeader *object) const in MarkIfNotMarkedInCollectionSet() 104 ALWAYS_INLINE bool IsMarked(const ObjectHeader *object) const in IsMarked() 109 ALWAYS_INLINE void Mark(ObjectHeader *object) const in Mark()
|
| D | ref_updater.cpp | 24 ObjectHeader *BaseRefUpdater<LanguageConfig>::UpdateRefToMovedObject(ObjectHeader *object, ObjectHe… in UpdateRefToMovedObject() 31 void UpdateRemsetRefUpdater<LanguageConfig, NEED_LOCK>::Process(ObjectHeader *object, size_t offset, in Process() 32 ObjectHeader *ref) const in Process()
|
| /arkcompiler/runtime_core/static_core/runtime/tooling/ |
| D | default_inspector_extension.h | 30 std::string GetClassName(const ObjectHeader *object) override; 31 std::optional<std::string> GetAsString(const ObjectHeader *object) override; 32 std::optional<size_t> GetLengthIfArray(const ObjectHeader *object) override; 33 void EnumerateProperties(const ObjectHeader *object, const PropertyHandler &handler) override; 48 std::string GetClassName(const ObjectHeader *object) override; 49 std::optional<std::string> GetAsString(const ObjectHeader *object) override; 50 std::optional<size_t> GetLengthIfArray(const ObjectHeader *object) override; 52 const ObjectHeader *object,
|