/arkcompiler/ets_runtime/ecmascript/mem/ |
D | sparse_space.cpp | 37 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE, in Initialize() local 39 region->InitializeFreeObjectSets(); in Initialize() 40 AddRegion(region); in Initialize() 42 allocator_->Initialize(region); in Initialize() 88 …Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE, heap_->Get… in Expand() local 89 region->InitializeFreeObjectSets(); in Expand() 90 AddRegion(region); in Expand() 91 allocator_->AddFree(region); in Expand() 160 Region *region = nullptr; in TryFillSweptRegion() local 161 while ((region = GetSweptRegionSafe()) != nullptr) { in TryFillSweptRegion() [all …]
|
D | space.cpp | 63 void Space::ClearAndFreeRegion(Region *region) in ClearAndFreeRegion() argument 65 LOG_ECMA_MEM(DEBUG) << "Clear region from:" << region << " to " << ToSpaceTypeName(spaceType_); in ClearAndFreeRegion() 66 region->DeleteCrossRegionRSet(); in ClearAndFreeRegion() 67 region->DeleteOldToNewRSet(); in ClearAndFreeRegion() 68 region->DeleteSweepingRSet(); in ClearAndFreeRegion() 69 DecreaseCommitted(region->GetCapacity()); in ClearAndFreeRegion() 70 DecreaseObjectSize(region->GetSize()); in ClearAndFreeRegion() 74 region->DestroyFreeObjectSets(); in ClearAndFreeRegion() 76 heapRegionAllocator_->FreeRegion(region); in ClearAndFreeRegion() 95 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, alignedSize, thread); in Allocate() local [all …]
|
D | parallel_evacuator.h | 78 …Workload(ParallelEvacuator *evacuator, Region *region) : evacuator_(evacuator), region_(region) {}; in Workload() argument 97 … EvacuateWorkload(ParallelEvacuator *evacuator, Region *region) : Workload(evacuator, region) {} in EvacuateWorkload() argument 104 … UpdateRSetWorkload(ParallelEvacuator *evacuator, Region *region) : Workload(evacuator, region) {} in UpdateRSetWorkload() argument 111 …ateNewRegionWorkload(ParallelEvacuator *evacuator, Region *region) : Workload(evacuator, region) {} in UpdateNewRegionWorkload() argument 118 UpdateAndSweepNewRegionWorkload(ParallelEvacuator *evacuator, Region *region) in UpdateAndSweepNewRegionWorkload() argument 119 : Workload(evacuator, region) {} in UpdateAndSweepNewRegionWorkload() 128 void EvacuateRegion(TlabAllocator *allocator, Region *region); 130 inline void SetObjectRSet(ObjectSlot slot, Region *region); 132 inline bool IsWholeRegionEvacuate(Region *region); 140 void UpdateRSet(Region *region); [all …]
|
D | space-inl.h | 22 void Space::AddRegion(Region *region) in AddRegion() argument 24 LOG_ECMA_MEM(DEBUG) << "Add region:" << region << " to " << ToSpaceTypeName(spaceType_); in AddRegion() 25 regionList_.AddNode(region); in AddRegion() 26 IncreaseCommitted(region->GetCapacity()); in AddRegion() 27 IncreaseObjectSize(region->GetSize()); in AddRegion() 30 void Space::RemoveRegion(Region *region) in RemoveRegion() argument 32 LOG_ECMA_MEM(DEBUG) << "Remove region:" << region << " to " << ToSpaceTypeName(spaceType_); in RemoveRegion() 33 regionList_.RemoveNode(region); in RemoveRegion() 34 DecreaseCommitted(region->GetCapacity()); in RemoveRegion() 35 DecreaseObjectSize(region->GetSize()); in RemoveRegion()
|
D | parallel_evacuator.cpp | 81 std::unique_ptr<Workload> region = GetWorkloadSafe(); in EvacuateSpace() local 82 while (region != nullptr) { in EvacuateSpace() 83 EvacuateRegion(allocator, region->GetRegion()); in EvacuateSpace() 84 region = GetWorkloadSafe(); in EvacuateSpace() 96 void ParallelEvacuator::EvacuateRegion(TlabAllocator *allocator, Region *region) in EvacuateRegion() argument 98 bool isInOldGen = region->InOldSpace(); in EvacuateRegion() 99 bool isBelowAgeMark = region->BelowAgeMark(); in EvacuateRegion() 101 if (!isBelowAgeMark && !isInOldGen && IsWholeRegionEvacuate(region)) { in EvacuateRegion() 102 if (heap_->MoveYoungRegionSync(region)) { in EvacuateRegion() 106 region->IterateAllMarkedBits([this, ®ion, &isInOldGen, &isBelowAgeMark, in EvacuateRegion() [all …]
|
D | linear_space.cpp | 93 …Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE, heap_->Get… in Expand() local 94 allocator_.Reset(region->GetBegin(), region->GetEnd()); in Expand() 96 AddRegion(region); in Expand() 118 EnumerateRegions([&](Region *region) { in IterateOverObjects() argument 119 auto curPtr = region->GetBegin(); in IterateOverObjects() 121 if (region == current) { in IterateOverObjects() 123 endPtr = curPtr + region->GetAllocatedBytes(top); in IterateOverObjects() 125 endPtr = curPtr + region->GetAllocatedBytes(); in IterateOverObjects() 167 …Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE, heap_->Get… in Initialize() local 168 AddRegion(region); in Initialize() [all …]
|
D | allocator-inl.h | 70 void FreeListAllocator::Initialize(Region *region) in Initialize() argument 72 bpAllocator_.Reset(region->GetBegin(), region->GetEnd()); in Initialize() 82 void FreeListAllocator::AddFree(Region *region) in AddFree() argument 84 auto begin = region->GetBegin(); in AddFree() 85 auto end = region->GetEnd(); in AddFree() 172 inline void FreeListAllocator::CollectFreeObjectSet(Region *region) in CollectFreeObjectSet() argument 174 region->EnumerateFreeObjectSets([&](FreeObjectSet *set) { in CollectFreeObjectSet() 180 freeList_->IncreaseWastedSize(region->GetWastedSize()); in CollectFreeObjectSet() 183 inline bool FreeListAllocator::MatchFreeObjectSet(Region *region, size_t size) in MatchFreeObjectSet() argument 186 region->REnumerateFreeObjectSets([&](FreeObjectSet *set) { in MatchFreeObjectSet() [all …]
|
D | parallel_evacuator-inl.h | 28 bool ParallelEvacuator::IsWholeRegionEvacuate(Region *region) in IsWholeRegionEvacuate() argument 30 …return (static_cast<double>(region->AliveObject()) / region->GetSize()) > MIN_OBJECT_SURVIVAL_RATE… in IsWholeRegionEvacuate() 31 !region->HasAgeMark(); in IsWholeRegionEvacuate() 146 Region *region = Region::ObjectAddressToRange(object); in SetObjectFieldRSet() local 147 …auto callbackWithCSet = [this, region](TaggedObject *root, ObjectSlot start, ObjectSlot end, Visit… in SetObjectFieldRSet() 149 … if (VisitBodyInObj(root, start, end, [&](ObjectSlot slot) { SetObjectRSet(slot, region); })) { in SetObjectFieldRSet() 154 SetObjectRSet(slot, region); in SetObjectFieldRSet() 160 void ParallelEvacuator::SetObjectRSet(ObjectSlot slot, Region *region) in SetObjectRSet() argument 168 region->InsertOldToNewRSet(slot.SlotAddress()); in SetObjectRSet() 170 region->InsertCrossRegionRSet(slot.SlotAddress()); in SetObjectRSet() [all …]
|
D | heap_region_allocator.cpp | 61 void HeapRegionAllocator::FreeRegion(Region *region) in FreeRegion() argument 63 auto size = region->GetCapacity(); in FreeRegion() 64 bool isRegular = !(region->InHugeObjectSpace()); in FreeRegion() 65 auto allocateBase = region->GetAllocateBase(); in FreeRegion() 68 region->Invalidate(); in FreeRegion() 69 region->ClearMembers(); in FreeRegion()
|
D | allocator.h | 90 inline void Initialize(Region *region); 95 inline void AddFree(Region *region); 100 inline bool MatchFreeObjectSet(Region *region, size_t size); 101 inline void CollectFreeObjectSet(Region *region); 102 inline void DetachFreeObjectSet(Region *region);
|
D | parallel_marker-inl.h | 111 inline void NonMovableMarker::HandleOldToNewRSet(uint32_t threadId, Region *region) in HandleOldToNewRSet() argument 113 region->IterateAllOldToNewBits([this, threadId, ®ion](void *mem) -> bool { in HandleOldToNewRSet() 118 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(mem), region); in HandleOldToNewRSet() 191 inline void MovableMarker::HandleOldToNewRSet(uint32_t threadId, Region *region) in HandleOldToNewRSet() argument 193 region->IterateAllOldToNewBits([this, threadId, ®ion](void *mem) -> bool { in HandleOldToNewRSet() 198 RecordWeakReference(threadId, reinterpret_cast<JSTaggedType *>(mem), region); in HandleOldToNewRSet() 318 Region *region = Region::ObjectAddressToRange(object); in ShouldBePromoted() local 319 return (region->BelowAgeMark() || (region->HasAgeMark() && ToUintPtr(object) < waterLine_)); in ShouldBePromoted() 414 inline bool CompressGCMarker::NeedEvacuate(Region *region) in NeedEvacuate() argument 417 …return !region->InHugeObjectSpace() && !region->InReadOnlySpace() && !region->InNonMovableSpace(); in NeedEvacuate() [all …]
|
D | tagged_object-inl.h | 62 Region *region = Region::ObjectAddressToRange(const_cast<TaggedObject *>(this)); in GetJSThread() local 63 ASSERT(region != nullptr); in GetJSThread() 64 return region->GetJSThread(); in GetJSThread()
|
D | linear_space.h | 104 bool SwapRegion(Region *region, SemiSpace *fromSpace); 139 auto cb = [](Region *region) { in SetReadOnly() 140 region->SetReadOnlyAndMarked(); in SetReadOnly() 147 auto cb = [](Region *region) { in ClearReadOnly() 148 region->ClearReadOnly(); in ClearReadOnly()
|
D | heap-inl.h | 44 void Heap::EnumerateOldSpaceRegions(const Callback &cb, Region *region) const in EnumerateOldSpaceRegions() argument 46 oldSpace_->EnumerateRegions(cb, region); in EnumerateOldSpaceRegions() 159 bool Heap::MoveYoungRegionSync(Region *region) in MoveYoungRegionSync() argument 161 return activeSemiSpace_->SwapRegion(region, inactiveSemiSpace_); in MoveYoungRegionSync() 334 activeSemiSpace_->EnumerateRegionsWithRecord([] (Region *region) { in ReclaimRegions() 335 region->ClearMarkGCBitset(); in ReclaimRegions() 336 region->ClearCrossRegionRSet(); in ReclaimRegions() 337 region->ResetAliveObject(); in ReclaimRegions() 338 region->ClearGCFlag(RegionGCFlags::IN_NEW_TO_NEW_SET); in ReclaimRegions() 348 EnumerateNonNewSpaceRegionsWithRecord([] (Region *region) { in ReclaimRegions() [all …]
|
D | incremental_marker.cpp | 120 auto callback = [](Region *region) { in Finish() argument 121 region->ClearMarkGCBitset(); in Finish() 122 region->ClearCrossRegionRSet(); in Finish() 123 region->ResetAliveObject(); in Finish()
|
D | space.h | 199 inline void EnumerateRegions(const Callback &cb, Region *region = nullptr) const; 203 inline void AddRegion(Region *region); 204 inline void RemoveRegion(Region *region); 212 void ClearAndFreeRegion(Region *region);
|
D | sparse_space.h | 77 void AddSweepingRegion(Region *region); 80 void AddSweptRegionSafe(Region *region); 82 void FreeRegionFromSpace(Region *region); 88 void DetachFreeObjectSet(Region *region); 213 bool AddRegionToList(Region *region);
|
D | concurrent_marker.cpp | 111 auto callback = [](Region *region) { in Reset() argument 112 region->ClearMarkGCBitset(); in Reset() 113 region->ClearCrossRegionRSet(); in Reset() 114 region->ResetAliveObject(); in Reset()
|
/arkcompiler/runtime_core/libpandabase/tests/ |
D | bit_memory_region_test.cpp | 96 BitMemoryRegion region(data.data(), 0, data.size() * BITS_PER_UINT64); in TEST() local 97 ss << region; in TEST() 104 BitMemoryRegion region(data.data(), 0, 130); in TEST() local 105 ss << region; in TEST() 113 BitMemoryRegion region(data.data(), 1, 65); in TEST() local 114 ss << region; in TEST() 122 BitMemoryRegion region(data.data(), 0, 129); in TEST() local 123 ss << region; in TEST() 131 BitMemoryRegion region(data.data(), 40, 40); in TEST() local 132 ss << region; in TEST() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | graph_linearizer.h | 225 GateInfo(GateRegion* region) : region(region) {} in GateInfo() 226 GateRegion* region {nullptr}; 285 return info.region; in GateToRegion() 300 void AddFixedGateToRegion(GateRef gate, GateRegion* region) in AddFixedGateToRegion() argument 304 info.upperBound = region; in AddFixedGateToRegion() 305 ASSERT(info.region == nullptr); in AddFixedGateToRegion() 306 info.region = region; in AddFixedGateToRegion() 316 void AddRootGateToRegion(GateRef gate, GateRegion* region) in AddRootGateToRegion() argument 320 info.upperBound = region; in AddRootGateToRegion() 321 ASSERT(info.region == nullptr); in AddRootGateToRegion() [all …]
|
D | graph_linearizer.cpp | 62 auto region = linearizer_->FindPredRegion(state); in Run() local 63 linearizer_->AddFixedGateToRegion(fixedGate, region); in Run() 64 linearizer_->BindGate(fixedGate, region); in Run() 355 for (auto region : *loopInfo.loopExits) { in PrintLoop() 356 auto current = region->state_; in PrintLoop() 370 GateRegion* curRegion = curState.region; in ComputeLoopInfo() 413 auto curRegion = curState.region; in ComputeLoopNumber() 446 auto curRegion = curState.region; in ComputeLoopExit() 512 bool CheckRegionDomLoopExist(GateRegion* region, LoopInfo& loopInfo) in CheckRegionDomLoopExist() argument 518 if (linearizer_->GetCommonDominator(region, exitRegion) != region) { in CheckRegionDomLoopExist() [all …]
|
/arkcompiler/runtime_core/libpandabase/utils/ |
D | bit_memory_stream.h | 43 BitMemoryRegion region(data_->data(), offset_, length); in Write() 44 region.Write(value, 0, length); in Write() 55 BitMemoryRegion region(data_->data(), offset_, length); in Write() 59 region.Write(ptr[i], i * bits_per_word, bits_per_word); in Write() 64 region.Write(ptr[i], i * bits_per_word, payload_length % bits_per_word); in Write()
|
D | bit_memory_region-inl.h | 58 inline std::ostream &operator<<(std::ostream &os, const BitMemoryRegion<T> ®ion) 60 region.Dump(os);
|
/arkcompiler/ets_runtime/ecmascript/tests/ |
D | read_only_space_test.cpp | 116 auto *region = Region::ObjectAddressToRange(object); in HWTEST_F_L0() local 117 EXPECT_TRUE(region->InReadOnlySpace()); in HWTEST_F_L0() 145 auto *region = Region::ObjectAddressToRange(object); in HWTEST_F_L0() local 146 EXPECT_TRUE(region->InReadOnlySpace()); in HWTEST_F_L0() 164 auto *region = Region::ObjectAddressToRange(string.GetObject<TaggedObject>()); in HWTEST_F_L0() local 165 EXPECT_TRUE(region->InReadOnlySpace()); in HWTEST_F_L0()
|
/arkcompiler/ets_runtime/ecmascript/ |
D | tagged_array-inl.h | 174 Region *region = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(*srcArray)); in RemoveElementByIndex() local 175 if (region->InYoungSpace() && !region->IsMarking()) { in RemoveElementByIndex() 198 Region *region = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(*srcArray)); in InsertElementByIndex() local 199 if (region->InYoungSpace() && !region->IsMarking()) { in InsertElementByIndex() 223 Region *region = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(*dstElements)); in CopyTaggedArrayElement() local 224 if (region->InYoungSpace() && !region->IsMarking()) { in CopyTaggedArrayElement()
|