/arkcompiler/ets_runtime/ecmascript/mem/ |
H A D | barriers-inl.h | 36 Region *objectRegion = Region::ObjectAddressToRange(static_cast<TaggedObject *>(obj)); in WriteBarrier() local 44 if (objectRegion->InGeneralOldSpace() && valueRegion->InGeneralNewSpace()) { in WriteBarrier() 47 objectRegion->InsertOldToNewRSet(slotAddr); in WriteBarrier() 48 } else if (!objectRegion->InSharedHeap() && valueRegion->InSharedSweepableSpace()) { in WriteBarrier() 54 objectRegion->InsertLocalToShareRSet(slotAddr); in WriteBarrier() 55 } else if (valueRegion->InEdenSpace() && objectRegion->InYoungSpace()) { in WriteBarrier() 56 objectRegion->InsertNewToEdenRSet(slotAddr); in WriteBarrier() 58 ASSERT(!objectRegion->InSharedHeap() || valueRegion->InSharedHeap()); in WriteBarrier() 60 Barriers::Update(thread, slotAddr, objectRegion, reinterpret_cast<TaggedObject *>(value), in WriteBarrier() 116 ARK_NOINLINE bool BatchBitSet(const JSThread* thread, Region* objectRegion, JSTaggedValu 130 Region* objectRegion = Region::ObjectAddressToRange(ToUintPtr(dst)); CopyObject() local [all...] |
H A D | barriers.cpp | 18 void Barriers::UpdateWithoutEden(const JSThread *thread, uintptr_t slotAddr, Region *objectRegion, TaggedObject *value, in UpdateWithoutEden() argument 24 if (valueRegion->InCollectSet() && !objectRegion->InGeneralNewSpaceOrCSet()) { in UpdateWithoutEden() 25 objectRegion->AtomicInsertCrossRegionRSet(slotAddr); in UpdateWithoutEden() 43 void Barriers::Update(const JSThread *thread, uintptr_t slotAddr, Region *objectRegion, TaggedObject *value, in Update() argument 51 if (valueRegion->InCollectSet() && !objectRegion->InGeneralNewSpaceOrCSet()) { in Update() 52 objectRegion->AtomicInsertCrossRegionRSet(slotAddr); in Update() 91 ARK_NOINLINE bool BatchBitSet([[maybe_unused]] const JSThread* thread, Region* objectRegion, JSTaggedValue* dst, in BatchBitSet() argument 95 Region::Updater updater = objectRegion->GetBatchRSetUpdater<kind>(ToUintPtr(dst)); in BatchBitSet()
|
H A D | verification.cpp | 70 Region *objectRegion = Region::ObjectAddressToRange(object); in VerifyInactiveSemiSpaceMarkedObject() local 71 if (!objectRegion->InInactiveSemiSpace()) { // LCOV_EXCL_START in VerifyInactiveSemiSpaceMarkedObject() 187 Region *objectRegion = Region::ObjectAddressToRange(object); in VerifyMarkEden() local 191 if (objectRegion->InGeneralOldSpace() && valueRegion->InEdenSpace()) { // LCOV_EXCL_START in VerifyMarkEden() 192 if (!objectRegion->TestOldToNew(slot.SlotAddress())) { in VerifyMarkEden() 200 if (objectRegion->InYoungSpace() && valueRegion->InEdenSpace()) { in VerifyMarkEden() 201 if (!objectRegion->TestNewToEden(slot.SlotAddress())) { in VerifyMarkEden() 211 if (objectRegion->Test(object)) { in VerifyMarkEden() 212 if (!objectRegion->InEdenSpace() && !objectRegion in VerifyMarkEden() 231 Region *objectRegion = Region::ObjectAddressToRange(object); VerifyMarkYoung() local 268 Region *objectRegion = Region::ObjectAddressToRange(object); VerifyEvacuateEden() local 307 Region *objectRegion = Region::ObjectAddressToRange(object); VerifyEvacuateYoung() local 346 Region *objectRegion = Region::ObjectAddressToRange(object); VerifyMarkFull() local 382 Region *objectRegion = Region::ObjectAddressToRange(object); VerifySharedObjectReference() local 399 Region *objectRegion = Region::ObjectAddressToRange(object); VerifySharedRSetPostFullGC() local [all...] |
H A D | parallel_evacuator-inl.h | 180 Region *objectRegion = Region::ObjectAddressToRange(value); in UpdateWeakObjectSlot() local 181 if (objectRegion->InSharedHeap()) { in UpdateWeakObjectSlot() 217 Region *objectRegion = Region::ObjectAddressToRange(value.GetRawData()); in UpdateWeakObjectSlotOpt() local 218 ASSERT(objectRegion != nullptr); in UpdateWeakObjectSlotOpt() 220 if (!objectRegion->InGeneralNewSpace()) { in UpdateWeakObjectSlotOpt() 224 if (!objectRegion->InGeneralNewSpaceOrCSet()) { in UpdateWeakObjectSlotOpt() 225 if (value.IsWeakForHeapObject() && !objectRegion->InSharedHeap() && in UpdateWeakObjectSlotOpt() 226 (objectRegion->GetMarkGCBitset() == nullptr || !objectRegion->Test(value.GetRawData()))) { in UpdateWeakObjectSlotOpt() 235 if (objectRegion in UpdateWeakObjectSlotOpt() 354 Region *objectRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(oldAddress)); UpdateAddressAfterEvacation() local [all...] |
H A D | parallel_marker-inl.h | 79 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkObject() local 81 if (objectRegion->InSharedHeap()) { in MarkObject() 85 if (heap_->IsYoungMark() && objectRegion->InGeneralOldSpace()) { in MarkObject() 89 if (heap_->IsEdenMark() && !objectRegion->InEdenSpace()) { in MarkObject() 93 if (objectRegion->IsFreshRegion()) { in MarkObject() 96 ASSERT(objectRegion->InYoungSpace()); in MarkObject() 97 objectRegion->NonAtomicMark(object); in MarkObject() 98 } else if (objectRegion->AtomicMark(object)) { in MarkObject() 162 Region *objectRegion = Region::ObjectAddressToRange(object); in HandleOldToNewRSet() 164 if (objectRegion in HandleOldToNewRSet() 175 RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion) RecordWeakReference() argument 222 Region *objectRegion = Region::ObjectAddressToRange(start.SlotAddress()); HandleRangeRoots() local 388 Region *objectRegion = Region::ObjectAddressToRange(object); MarkObject() local 430 RecordWeakReference(uint32_t threadId, JSTaggedType *ref, [[maybe_unused]] Region *objectRegion) RecordWeakReference() argument 455 Region *objectRegion = Region::ObjectAddressToRange(object); MarkObject() local 526 RecordWeakReference(uint32_t threadId, JSTaggedType *ref, [[maybe_unused]] Region *objectRegion) RecordWeakReference() argument [all...] |
H A D | full_gc.cpp | 131 Region *objectRegion = Region::ObjectAddressToRange(header); in Sweep() local 132 if (!HasEvacuated(objectRegion)) { in Sweep() 133 if (!objectRegion->InSharedHeap() && !objectRegion->Test(header)) { in Sweep() 150 Region *objectRegion = Region::ObjectAddressToRange(header); in Sweep() 151 if (UNLIKELY(objectRegion == nullptr)) { in Sweep() 155 if (!HasEvacuated(objectRegion)) { in Sweep() 157 if (objectRegion->InSharedHeap() || objectRegion->Test(header)) { in Sweep()
|
H A D | parallel_evacuator.cpp | 153 Region *objectRegion = Region::ObjectAddressToRange(value); in UpdateRecordWeakReferenceInParallel() local 154 if (!objectRegion->InGeneralNewSpaceOrCSet() && !objectRegion->InSharedHeap() && in UpdateRecordWeakReferenceInParallel() 155 (objectRegion->GetMarkGCBitset() == nullptr || !objectRegion->Test(value))) { in UpdateRecordWeakReferenceInParallel() 356 Region *objectRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(header)); in UpdateWeakReference() 357 if (UNLIKELY(objectRegion == nullptr)) { in UpdateWeakReference() 362 if (objectRegion->InSharedHeap()) { in UpdateWeakReference() 366 if (!objectRegion->InEdenSpace()) { in UpdateWeakReference() 375 if (objectRegion in UpdateWeakReference() [all...] |
H A D | partial_gc.cpp | 166 Region *objectRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(header)); in ProcessNativeDelete() 167 ASSERT(!objectRegion->InSharedHeap()); in ProcessNativeDelete() 168 if (heap_->IsEdenMark() && !objectRegion->InEdenSpace()) { in ProcessNativeDelete() 171 if (!objectRegion->InGeneralNewSpaceOrCSet() && heap_->IsYoungMark()) { in ProcessNativeDelete() 174 if (!objectRegion->Test(header)) { in ProcessNativeDelete()
|
H A D | barriers.h | 67 static void PUBLIC_API Update(const JSThread *thread, uintptr_t slotAddr, Region *objectRegion, 70 static void PUBLIC_API UpdateWithoutEden(const JSThread *thread, uintptr_t slotAddr, Region *objectRegion,
|
H A D | parallel_marker.cpp | 99 Region *objectRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(jsError)); in MarkJitCodeMap() 100 if (!objectRegion->Test(reinterpret_cast<TaggedObject *>(jsError))) { in MarkJitCodeMap() 271 Region *objectRegion = Region::ObjectAddressToRange(jsErrorObj); in HandleVisitJitCodeMap() local 273 if (!NeedEvacuate(objectRegion)) { in HandleVisitJitCodeMap() 274 if (!objectRegion->InSharedHeap() && !objectRegion->Test(jsErrorObj)) { in HandleVisitJitCodeMap()
|
H A D | parallel_marker.h | 86 [[maybe_unused]] Region *objectRegion) in RecordWeakReference() 118 inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion) override; 165 inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion = nullptr) override; 196 inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion = nullptr) override; 85 RecordWeakReference([[maybe_unused]] uint32_t threadId, [[maybe_unused]] JSTaggedType *ref, [[maybe_unused]] Region *objectRegion) RecordWeakReference() argument
|
/arkcompiler/ets_runtime/ecmascript/mem/shared_heap/ |
H A D | shared_full_gc.cpp | 78 Region *objectRegion = Region::ObjectAddressToRange(header); in Sweep() 79 if (!objectRegion) { in Sweep() 83 if (objectRegion->InSharedOldSpace()) { in Sweep() 90 if (!objectRegion->InSharedSweepableSpace() || objectRegion->Test(header)) { in Sweep() 142 Region *objectRegion = Region::ObjectAddressToRange(header); in UpdateRecordWeakReference() local 143 if (!objectRegion->InSharedOldSpace()) { in UpdateRecordWeakReference() 144 if (!objectRegion->Test(header)) { in UpdateRecordWeakReference()
|
H A D | shared_gc_marker-inl.h | 29 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkObject() local 30 ASSERT(objectRegion->InSharedHeap()); in MarkObject() 31 if (!objectRegion->InSharedReadOnlySpace() && objectRegion->AtomicMark(object)) { in MarkObject() 32 ASSERT(objectRegion->InSharedSweepableSpace()); in MarkObject() 39 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkObjectFromJSThread() local 40 ASSERT(objectRegion->InSharedHeap()); in MarkObjectFromJSThread() 41 if (!objectRegion->InSharedReadOnlySpace() && objectRegion->AtomicMark(object)) { in MarkObjectFromJSThread() 226 Region *objectRegion in MarkObject() local [all...] |
H A D | shared_gc.cpp | 92 Region *objectRegion = Region::ObjectAddressToRange(header); in Sweep() 93 if (UNLIKELY(objectRegion == nullptr)) { in Sweep() 97 if (!objectRegion->InSharedSweepableSpace() || objectRegion->Test(header)) { in Sweep() 146 Region *objectRegion = Region::ObjectAddressToRange(header); in UpdateRecordWeakReference() local 147 if (!objectRegion->Test(header)) { in UpdateRecordWeakReference()
|
/arkcompiler/ets_runtime/ecmascript/tests/ |
H A D | gc_first_test.cpp | 242 Region *objectRegion = Region::ObjectAddressToRange(object); in HWTEST_F_L0() 243 EXPECT_TRUE(objectRegion->InSharedAppSpawnSpace()); in HWTEST_F_L0()
|
/arkcompiler/ets_runtime/ecmascript/stubs/ |
H A D | runtime_stubs.cpp | 3363 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkingBarrier() local 3373 Barriers::UpdateWithoutEden(thread, slotAddr, objectRegion, value, valueRegion); in MarkingBarrier() 3380 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkingBarrierWithEden() local 3390 Barriers::Update(thread, slotAddr, objectRegion, value, valueRegion); in MarkingBarrierWithEden() 3411 Region *objectRegion = Region::ObjectAddressToRange(object); in StoreBarrier() local 3419 if (objectRegion->InGeneralOldSpace() && valueRegion->InGeneralNewSpace()) { in StoreBarrier() 3422 objectRegion->InsertOldToNewRSet(slotAddr); in StoreBarrier() 3423 } else if (!objectRegion->InSharedHeap() && valueRegion->InSharedSweepableSpace()) { in StoreBarrier() 3424 objectRegion->InsertLocalToShareRSet(slotAddr); in StoreBarrier() 3425 } else if (valueRegion->InEdenSpace() && objectRegion in StoreBarrier() [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | stub_builder.cpp | 1807 GateRef objectRegion = ObjectAddressToRange(obj); in VerifyBarrier() local 1812 BRANCH(BitAnd(InSharedHeap(objectRegion), BoolNot(InSharedHeap(valueRegion))), &fatal, &exit); in VerifyBarrier() 1830 GateRef objectRegion = ObjectAddressToRange(obj); in SetValueWithBarrier() local 1841 BRANCH(InSharedHeap(objectRegion), &fatal, &noFatal); in SetValueWithBarrier() 1844 BRANCH(BitAnd(InSharedHeap(objectRegion), BoolNot(InSharedHeap(valueRegion))), &fatal, &noFatal); in SetValueWithBarrier() 1855 SetSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion); in SetValueWithBarrier() 1860 SetNonSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion, withEden); in SetValueWithBarrier() 1870 SetSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion); in SetValueWithBarrier() 1875 SetNonSValueWithBarrier(glue, obj, offset, value, objectRegion, valueRegion, withEden); in SetValueWithBarrier() 1887 void StubBuilder::SetSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef objectRegion, in SetSValueWithBarrier() argument 1963 SetNonSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef objectRegion, GateRef valueRegion, bool withEden) SetNonSValueWithBarrier() argument [all...] |
H A D | stub_builder.h | 1061 void SetSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef objectRegion, 1064 void SetNonSValueWithBarrier(GateRef glue, GateRef obj, GateRef offset, GateRef value, GateRef objectRegion,
|