Home
last modified time | relevance | path

Searched refs:region (Results 1 – 25 of 62) sorted by relevance

123

/arkcompiler/ets_runtime/ecmascript/mem/
Dsparse_space.cpp37 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 …]
Dspace.cpp63 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 …]
Dparallel_evacuator.h78 …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 …]
Dspace-inl.h22 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()
Dparallel_evacuator.cpp81 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, &region, &isInOldGen, &isBelowAgeMark, in EvacuateRegion()
[all …]
Dlinear_space.cpp93 …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 …]
Dallocator-inl.h70 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 …]
Dparallel_evacuator-inl.h28 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 …]
Dheap_region_allocator.cpp61 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()
Dallocator.h90 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);
Dparallel_marker-inl.h111 inline void NonMovableMarker::HandleOldToNewRSet(uint32_t threadId, Region *region) in HandleOldToNewRSet() argument
113 region->IterateAllOldToNewBits([this, threadId, &region](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, &region](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 …]
Dtagged_object-inl.h62 Region *region = Region::ObjectAddressToRange(const_cast<TaggedObject *>(this)); in GetJSThread() local
63 ASSERT(region != nullptr); in GetJSThread()
64 return region->GetJSThread(); in GetJSThread()
Dlinear_space.h104 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()
Dheap-inl.h44 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 …]
Dincremental_marker.cpp120 auto callback = [](Region *region) { in Finish() argument
121 region->ClearMarkGCBitset(); in Finish()
122 region->ClearCrossRegionRSet(); in Finish()
123 region->ResetAliveObject(); in Finish()
Dspace.h199 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);
Dsparse_space.h77 void AddSweepingRegion(Region *region);
80 void AddSweptRegionSafe(Region *region);
82 void FreeRegionFromSpace(Region *region);
88 void DetachFreeObjectSet(Region *region);
213 bool AddRegionToList(Region *region);
Dconcurrent_marker.cpp111 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/
Dbit_memory_region_test.cpp96 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/
Dgraph_linearizer.h225 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 …]
Dgraph_linearizer.cpp62 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/
Dbit_memory_stream.h43 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()
Dbit_memory_region-inl.h58 inline std::ostream &operator<<(std::ostream &os, const BitMemoryRegion<T> &region)
60 region.Dump(os);
/arkcompiler/ets_runtime/ecmascript/tests/
Dread_only_space_test.cpp116 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/
Dtagged_array-inl.h174 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()

123