Home
last modified time | relevance | path

Searched refs:ObjectHeader (Results 1 – 25 of 281) sorted by relevance

12345678910>>...12

/arkcompiler/runtime_core/static_core/runtime/mem/
Dobject_helpers.h48 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 …]
Dobject_helpers.cpp34 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 …]
Dheap_verifier.cpp38 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 …]
Dheap_verifier.h34 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/
Dobject_header-inl.h26 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 …]
Dobject_header.h57 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 …]
Dobject_accessor-inl.h30 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 …]
Dthread-inl.h63 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
Dvalue.h29 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_;
Dobject_accessor.h24 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/
Dpygote_space_allocator_test_base.h99 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 …]
Dg1gc_test.cpp120 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 …]
Dobject_helpers_test.cpp94 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/
Dets_string_builder.h25 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);
Dets_object.h29 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/
Dstd_core_StringBuilder.cpp74 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()
Dstd_core_Console.cpp27 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/
Dobject_header.cpp41 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 …]
Dmonitor.h28 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/
Dgc_adaptive_stack.h35 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_;
Dgc_adaptive_stack.cpp23 … 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/
Dref_updater.h27 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()
50ObjectHeader *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()
Dg1-marker.h26 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()
Dref_updater.cpp24 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/
Ddefault_inspector_extension.h30 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,

12345678910>>...12