Home
last modified time | relevance | path

Searched refs:MarkWord (Results 1 - 25 of 35) sorted by relevance

12

/arkcompiler/runtime_core/static_core/runtime/
H A Dmark_word.cpp23 inline uint32_t MarkWord::GetHashConfigured() const in GetHashConfigured()
30 inline uint32_t MarkWord::GetHashConfigured<false>() const in GetHashConfigured()
36 uint32_t MarkWord::GetHash() const in GetHash()
42 inline MarkWord MarkWord::DecodeFromHashConfigured(uint32_t hash) in DecodeFromHashConfigured()
47 return MarkWord(temp | hashInPlace | (STATUS_HASHED << STATUS_SHIFT)); in DecodeFromHashConfigured()
51 inline MarkWord MarkWord::DecodeFromHashConfigured<false>(uint32_t hash) in DecodeFromHashConfigured()
55 return MarkWord(0); in DecodeFromHashConfigured()
58 MarkWord MarkWor
[all...]
H A Dmonitor.cpp105 MarkWord mark = objHandle.GetPtr()->AtomicGetMark(); in InflateThinLock()
137 std::optional<ark::Monitor::State> Monitor::HandleLightLockedState(MarkWord &mark, MTManagedThread *thread, in HandleLightLockedState()
145 if (newCount < MarkWord::LIGHT_LOCK_LOCK_MAX_COUNT) { in HandleLightLockedState()
195 std::optional<ark::Monitor::State> Monitor::HandleUnlockedState(MarkWord &mark, MTManagedThread *thread, in HandleUnlockedState()
212 ASSERT(thread->GetInternalId() <= MarkWord::LIGHT_LOCK_THREADID_MAX_COUNT); in HandleUnlockedState()
250 MarkWord mark = objHandle.GetPtr()->AtomicGetMark(); in MonitorEnter()
251 MarkWord::ObjectState state = mark.GetState(); in MonitorEnter()
256 case MarkWord::STATE_HEAVY_LOCKED: { in MonitorEnter()
268 case MarkWord::STATE_LIGHT_LOCKED: { in MonitorEnter()
277 case MarkWord in MonitorEnter()
[all...]
H A Dmark_word.h108 class MarkWord : private MarkWordConfig<MemoryModelConfig> { class
197 /* Create MarkWord from different objects:
200 MarkWord DecodeFromMonitor(Monitor::MonitorId monitor) in DecodeFromMonitor()
206 return MarkWord(temp | monitorInPlace | (STATUS_HEAVYWEIGHT_LOCK << STATUS_SHIFT)); in DecodeFromMonitor()
209 PANDA_PUBLIC_API MarkWord DecodeFromHash(uint32_t hash);
211 MarkWord DecodeFromForwardingAddress(MarkWordSize forwardingAddress) in DecodeFromForwardingAddress()
214 "MarkWord has different size than OBJECT_POINTER_SIZE"); in DecodeFromForwardingAddress()
219 MarkWord DecodeFromLightLock(os::thread::ThreadId threadId, uint32_t count) in DecodeFromLightLock()
229 return MarkWord(temp | lightlockThreadInPlace | lightlockLockCountInPlace | in DecodeFromLightLock()
233 MarkWord DecodeFromUnlocke
[all...]
H A Dobject_header.cpp100 case MarkWord::STATE_UNLOCKED: { in GetHashCodeMTSingle()
102 ASSERT(mark.GetState() == MarkWord::STATE_HASHED); in GetHashCodeMTSingle()
106 case MarkWord::STATE_HASHED: in GetHashCodeMTSingle()
125 case MarkWord::STATE_UNLOCKED: { in GetHashCodeMTMulti()
127 ASSERT(hashMark.GetState() == MarkWord::STATE_HASHED); in GetHashCodeMTMulti()
131 case MarkWord::STATE_LIGHT_LOCKED: { in GetHashCodeMTMulti()
141 case MarkWord::STATE_HEAVY_LOCKED: { in GetHashCodeMTMulti()
150 case MarkWord::STATE_HASHED: { in GetHashCodeMTMulti()
H A Dmonitor.h32 class MarkWord;
211 static std::optional<ark::Monitor::State> HandleLightLockedState(MarkWord &mark, MTManagedThread *thread,
217 static std::optional<ark::Monitor::State> HandleUnlockedState(MarkWord &mark, MTManagedThread *thread,
H A Dobject_header_config.h28 class MarkWord;
H A Dmonitor_pool.h34 static constexpr Monitor::MonitorId MAX_MONITOR_ID = MarkWord::MONITOR_POINTER_MAX_COUNT;
/arkcompiler/runtime_core/static_core/runtime/tests/
H A Dmonitor_test.cpp69 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
71 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_UNLOCKED); in TEST_F()
80 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
82 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
84 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
86 ASSERT_TRUE(header->AtomicGetMark().GetState() == MarkWord::STATE_UNLOCKED); in TEST_F()
96 ASSERT_TRUE(header1->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
97 ASSERT_TRUE(header2->AtomicGetMark().GetState() == MarkWord::STATE_UNLOCKED); in TEST_F()
99 ASSERT_TRUE(header1->AtomicGetMark().GetState() == MarkWord::STATE_LIGHT_LOCKED); in TEST_F()
100 ASSERT_TRUE(header2->AtomicGetMark().GetState() == MarkWord in TEST_F()
[all...]
H A Dmark_word_test.cpp39 enum MarkWordFieldsMaxValues : MarkWord::MarkWordSize {
40 MAX_THREAD_ID = (1UL << MarkWord::MarkWordRepresentation::LIGHT_LOCK_THREADID_SIZE) - 1UL,
41 MAX_LOCK_COUNT = (1UL << MarkWord::MarkWordRepresentation::LIGHT_LOCK_LOCK_COUNT_SIZE) - 1UL,
42 MAX_MONITOR_ID = (1UL << MarkWord::MarkWordRepresentation::MONITOR_POINTER_SIZE) - 1UL,
43 MAX_HASH = (1UL << MarkWord::MarkWordRepresentation::HASH_SIZE) - 1UL,
44 MAX_FORWARDING_ADDRESS = std::numeric_limits<MarkWord::MarkWordSize>::max() &
45 MarkWord::MarkWordRepresentation::FORWARDING_ADDRESS_MASK_IN_PLACE,
50 using MarkWordDistribution = std::uniform_int_distribution<MarkWord::MarkWordSize>;
90 MarkWord::MarkWordSize GetForwardingAddress() in GetForwardingAddress()
92 return forwardingAddressRange_(gen_) & MarkWord in GetForwardingAddress()
[all...]
/arkcompiler/runtime_core/static_core/runtime/include/
H A Dobject_header.h61 inline MarkWord GetMark() const in GetMark()
63 return *(const_cast<MarkWord *>(reinterpret_cast<const MarkWord *>(&markWord_))); in GetMark()
65 inline void SetMark(volatile MarkWord markWord) in SetMark()
70 inline MarkWord AtomicGetMark(std::memory_order memoryOrder = std::memory_order_seq_cst) const in AtomicGetMark()
72 auto *ptr = const_cast<MarkWord *>(reinterpret_cast<const MarkWord *>(&markWord_)); in AtomicGetMark()
73 auto *atomicPtr = reinterpret_cast<std::atomic<MarkWord> *>(ptr); in AtomicGetMark()
115 (exVal & MarkWord::HASH_MASK) == 0); in GenerateHashCode()
116 return exVal & MarkWord in GenerateHashCode()
[all...]
/arkcompiler/ets_runtime/ecmascript/mem/
H A Dmark_word.h31 class MarkWord { class
36 explicit MarkWord(TaggedObject *header) in MarkWord() function in panda::ecmascript::MarkWord
40 ~MarkWord() = default;
41 NO_COPY_SEMANTIC(MarkWord);
42 NO_MOVE_SEMANTIC(MarkWord);
H A Dparallel_evacuator-inl.h89 MarkWord markWord(object); in UpdateNewToEdenObjectSlot()
106 MarkWord markWord(object); in UpdateForwardedOldToNewObjectSlot()
170 MarkWord markWord(object); in UpdateObjectSlot()
205 MarkWord markWord(value.GetTaggedObject()); in UpdateObjectSlotOpt()
242 MarkWord markWord(value.GetWeakReferent()); in UpdateWeakObjectSlotOpt()
362 MarkWord markWord(oldAddress); in UpdateAddressAfterEvacation()
374 MarkWord markWord(oldAddress); in UpdateAddressAfterEvacation()
H A Dparallel_marker-inl.h321 TaggedObject *dst = MarkWord(object).ToForwardingAddress(); in UpdateForwardAddressIfFailed()
327 const MarkWord &markWord) in RawCopyObject()
393 MarkWord markWord(object); in MarkObject()
403 inline SlotStatus SemiGCMarker::EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord, in EvacuateObject()
415 MarkWord::FromForwardingAddress(forwardAddress)); in EvacuateObject()
466 MarkWord markWord(object); in MarkObject()
499 inline SlotStatus CompressGCMarker::EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord, in EvacuateObject()
509 MarkWord::FromForwardingAddress(forwardAddress)); in EvacuateObject()
H A Dparallel_marker.h135 virtual inline SlotStatus EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord,
146 inline void RawCopyObject(uintptr_t fromAddress, uintptr_t toAddress, size_t size, const MarkWord &markWord);
163 inline SlotStatus EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord,
191 inline SlotStatus EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord,
H A Dfull_gc.cpp137 MarkWord markWord(header); in Sweep()
163 MarkWord markWord(header); in Sweep()
H A Dparallel_evacuator.cpp217 Barriers::SetPrimitive(header, 0, MarkWord::FromForwardingAddress(address)); in EvacuateRegion()
369 MarkWord markWord(header); in UpdateWeakReference()
381 MarkWord markWord(header); in UpdateWeakReference()
413 MarkWord markWord(header); in UpdateWeakReferenceOpt()
439 MarkWord markWord(header); in UpdateWeakReferenceOpt()
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/types/
H A Dets_object.h196 return GetMark().GetState() == MarkWord::STATE_HASHED; in IsHashed()
207 MarkWord oldMark = AtomicGetMark(); in SetInteropHash()
208 ASSERT(oldMark.GetState() == ark::MarkWord::STATE_UNLOCKED); in SetInteropHash()
209 MarkWord newMark = oldMark.DecodeFromHash(hash); in SetInteropHash()
210 ASSERT(newMark.GetState() == MarkWord::STATE_HASHED); in SetInteropHash()
218 MarkWord oldMark = AtomicGetMark(); in DropInteropHash()
219 ASSERT(oldMark.GetState() == MarkWord::STATE_HASHED); in DropInteropHash()
220 MarkWord newMark = oldMark.DecodeFromUnlocked(); in DropInteropHash()
/arkcompiler/runtime_core/static_core/runtime/mem/gc/g1/
H A Dg1-evacuate-regions-worker-state-inl.h62 ObjectHeader *G1EvacuateRegionsWorkerState<LanguageConfig>::Evacuate(ObjectHeader *obj, MarkWord markWord) in Evacuate()
124 MarkWord markWord = obj->AtomicGetMark(std::memory_order_relaxed); in ProcessRef()
140 MarkWord markWord) in SetForwardAddress()
142 MarkWord fwdMarkWord = markWord.DecodeFromForwardingAddress(static_cast<MarkWord::MarkWordSize>(ToUintPtr(dst))); in SetForwardAddress()
175 MarkWord markWord = rootObject->AtomicGetMark(std::memory_order_relaxed); in EvacuateNonHeapRoots()
H A Dg1-evacuate-regions-worker-state.h54 ObjectHeader *Evacuate(ObjectHeader *obj, MarkWord markWord);
134 ObjectHeader *SetForwardAddress(ObjectHeader *src, ObjectHeader *dst, MarkWord markWord);
/arkcompiler/runtime_core/static_core/runtime/mem/gc/lang/
H A Dgc_lang.cpp88 MarkWord markWord = objectHeader->AtomicGetMark(); in CommonUpdateRefsToMovedObjects()
89 if (markWord.GetState() == MarkWord::ObjectState::STATE_GC) { in CommonUpdateRefsToMovedObjects()
90 MarkWord::MarkWordSize addr = markWord.GetForwardingAddress(); in CommonUpdateRefsToMovedObjects()
/arkcompiler/runtime_core/static_core/runtime/mem/
H A Dobject_helpers.cpp239 MarkWord markWord = objectHeader->AtomicGetMark(); in GetForwardAddress()
240 MarkWord::MarkWordSize addr = markWord.GetForwardingAddress(); in GetForwardAddress()
344 MarkWord markWord = ref->GetMark(); // no need atomic because stw in UpdateRefToMovedObject()
345 if (markWord.GetState() != MarkWord::ObjectState::STATE_GC) { in UpdateRefToMovedObject()
349 MarkWord::MarkWordSize addr = markWord.GetForwardingAddress(); in UpdateRefToMovedObject()
374 MarkWord markWord = ref->AtomicGetMark(); in UpdateRefToMovedObject()
375 if (markWord.GetState() != MarkWord::ObjectState::STATE_GC) { in UpdateRefToMovedObject()
378 MarkWord::MarkWordSize addr = markWord.GetForwardingAddress(); in UpdateRefToMovedObject()
/arkcompiler/ets_runtime/ecmascript/mem/shared_heap/
H A Dshared_gc_marker-inl.h238 MarkWord markWord(object); in MarkObject()
265 const MarkWord &markWord, ObjectSlot slot) in EvacuateObject()
274 MarkWord::FromForwardingAddress(forwardAddress)); in EvacuateObject()
295 const MarkWord &markWord) in RawCopyObject()
323 TaggedObject *dst = MarkWord(object).ToForwardingAddress(); in UpdateForwardAddressIfFailed()
H A Dshared_full_gc.cpp84 MarkWord markWord(header); in Sweep()
148 MarkWord markWord(header); in UpdateRecordWeakReference()
H A Dshared_gc_marker.h129 inline void EvacuateObject(uint32_t threadId, TaggedObject *object, const MarkWord &markWord, ObjectSlot slot);
131 inline void RawCopyObject(uintptr_t fromAddress, uintptr_t toAddress, size_t size, const MarkWord &markWord);
/arkcompiler/runtime_core/static_core/runtime/mem/gc/
H A Dgc.cpp925 MarkWord markWord = src->AtomicGetMark(); in SetForwardAddress()
926 MarkWord fwdMarkWord = in SetForwardAddress()
927 markWord.DecodeFromForwardingAddress(static_cast<MarkWord::MarkWordSize>(ToUintPtr(dst))); in SetForwardAddress()
942 MarkWord markWord = objectHeader->AtomicGetMark(); in UpdateRefsInVRegs()
943 if (markWord.GetState() != MarkWord::ObjectState::STATE_GC) { in UpdateRefsInVRegs()
946 MarkWord::MarkWordSize addr = markWord.GetForwardingAddress(); in UpdateRefsInVRegs()

Completed in 17 milliseconds

12