Home
last modified time | relevance | path

Searched refs:Region (Results 1 – 25 of 52) sorted by relevance

123

/ark/js_runtime/ecmascript/mem/
Dregion-inl.h27 inline void Region::SetSpace(Space *space) in SetSpace()
32 RememberedSet *Region::CreateRememberedSet() in CreateRememberedSet()
42 RememberedSet *Region::GetOrCreateCrossRegionRememberedSet() in GetOrCreateCrossRegionRememberedSet()
53 RememberedSet *Region::GetOrCreateOldToNewRememberedSet() in GetOrCreateOldToNewRememberedSet()
64 void Region::InsertCrossRegionRememberedSet(uintptr_t addr) in InsertCrossRegionRememberedSet()
70 void Region::AtomicInsertCrossRegionRememberedSet(uintptr_t addr) in AtomicInsertCrossRegionRememberedSet()
76 void Region::InsertOldToNewRememberedSet(uintptr_t addr) in InsertOldToNewRememberedSet()
82 void Region::AtomicInsertOldToNewRememberedSet(uintptr_t addr) in AtomicInsertOldToNewRememberedSet()
88 WorkerHelper *Region::GetWorkList() const in GetWorkList()
93 void Region::DeleteMarkBitmap() in DeleteMarkBitmap()
[all …]
Dsparse_space.cpp35 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE); in Initialize()
89 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, DEFAULT_REGION_SIZE); in Expand()
120 EnumerateRegions([this](Region *current) { in PrepareSweeping()
134 Region *current = GetSweepingRegionSafe(); in AsyncSweeping()
150 EnumerateRegions([this](Region *current) { in Sweeping()
164 Region *region = nullptr; in FillSweptRegion()
172 void SparseSpace::AddSweepingRegion(Region *region) in AddSweepingRegion()
180 std::sort(sweepingList_.begin(), sweepingList_.end(), [](Region *first, Region *second) { in SortSweepingRegion()
185 Region *SparseSpace::GetSweepingRegionSafe() in GetSweepingRegionSafe()
188 Region *region = nullptr; in GetSweepingRegionSafe()
[all …]
Dsparse_space.h59 void AddSweepingRegion(Region *region);
61 Region *GetSweepingRegionSafe();
62 void AddSweptRegionSafe(Region *region);
63 Region *GetSweptRegionSafe();
65 void FreeRegion(Region *current, bool isMain = true);
66 void FreeLiveRange(Region *current, uintptr_t freeStart, uintptr_t freeEnd, bool isMain);
68 void DetachFreeObjectSet(Region *region);
94 std::vector<Region *> sweepingList_;
95 std::vector<Region *> sweptList_;
113 Region *TryToGetExclusiveRegion(size_t size);
[all …]
Dparallel_marker-inl.h35 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkObject()
63 Region *objectRegion = Region::ObjectAddressToRange(start.SlotAddress()); in HandleRangeRoots()
72 inline void NonMovableMarker::HandleOldToNewRSet(uint32_t threadId, Region *region) in HandleOldToNewRSet()
91 inline void NonMovableMarker::RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *obj… in RecordWeakReference()
94 Region *valueRegion = Region::ObjectAddressToRange(value.GetTaggedWeakRef()); in RecordWeakReference()
115 Region *objectRegion = Region::ObjectAddressToRange(start.SlotAddress()); in HandleRangeRoots()
124 inline void MovableMarker::HandleOldToNewRSet(uint32_t threadId, Region *region) in HandleOldToNewRSet()
191 return Region::ObjectAddressToRange(dst)->InYoungGeneration(); in UpdateForwardAddressIfFailed()
196 Region *objectRegion = Region::ObjectAddressToRange(object); in MarkObject()
205 Region *valueRegion = Region::ObjectAddressToRange(dst); in MarkObject()
[all …]
Dparallel_evacuation.h78 …Fragment(ParallelEvacuation *evacuation, Region *region) : evacuation_(evacuation), region_(region… in Fragment()
81 inline Region *GetRegion() in GetRegion()
92 Region *region_;
97 …EvacuationFragment(ParallelEvacuation *evacuation, Region *region) : Fragment(evacuation, region) … in EvacuationFragment()
103 …UpdateRSetFragment(ParallelEvacuation *evacuation, Region *region) : Fragment(evacuation, region) … in UpdateRSetFragment()
109 …UpdateNewRegionFragment(ParallelEvacuation *evacuation, Region *region) : Fragment(evacuation, reg… in UpdateNewRegionFragment()
115 UpdateAndSweepNewRegionFragment(ParallelEvacuation *evacuation, Region *region) in UpdateAndSweepNewRegionFragment()
124 void EvacuateRegion(TlabAllocator *allocator, Region *region);
127 inline bool IsWholeRegionEvacuate(Region *region);
134 void UpdateRSet(Region *region);
[all …]
Dregion.h53 class Region {
55 Region(Space *space, Heap *heap, uintptr_t allocateBase, uintptr_t begin, in Region() function
69 ~Region() = default;
70 NO_COPY_SEMANTIC(Region);
71 NO_MOVE_SEMANTIC(Region);
82 void LinkNext(Region *next) in LinkNext()
87 Region *GetNext() const in GetNext()
92 void LinkPrev(Region *prev) in LinkPrev()
97 Region *GetPrev() const in GetPrev()
170 static Region *ObjectAddressToRange(TaggedObject *obj) in ObjectAddressToRange()
[all …]
Dspace.cpp45 EnumerateRegions([this](Region *current) { ClearAndFreeRegion(current); }); in ReclaimRegions()
50 void Space::ClearAndFreeRegion(Region *region) in ClearAndFreeRegion()
68 Region *region = Region::ObjectAddressToRange(object); in ContainObject()
87 size_t alignedSize = AlignUp(objectSize + sizeof(Region), PANDA_POOL_ALIGNMENT_IN_BYTES); in Allocate()
92 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, alignedSize); in Allocate()
100 Region *currentRegion = GetRegionList().GetFirst(); in Sweeping()
102 Region *next = currentRegion->GetNext(); in Sweeping()
122 EnumerateRegions([&](Region *region) { in IterateOverObjects()
Dspace.h148 Region *GetCurrentRegion() const in GetCurrentRegion()
158 EcmaList<Region> &GetRegionList() in GetRegionList()
163 const EcmaList<Region> &GetRegionList() const in GetRegionList()
169 inline void EnumerateRegions(const Callback &cb, Region *region = nullptr) const;
171 inline void AddRegion(Region *region);
172 inline void RemoveRegion(Region *region);
182 void ClearAndFreeRegion(Region *region);
188 EcmaList<Region> regionList_ {};
Dparallel_marker.h28 class Region; variable
42 void ProcessOldToNew(uint32_t threadId, Region *region); // for SemiGC
62 virtual inline void HandleOldToNewRSet(uint32_t threadId, Region *region) = 0;
67 [[maybe_unused]] Region *objectRegion) in RecordWeakReference()
87 inline void HandleOldToNewRSet(uint32_t threadId, Region *region) override;
88 …inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion) overri…
102 inline void HandleOldToNewRSet(uint32_t threadId, Region *region) override;
122 …inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion = nullp…
140 …inline void RecordWeakReference(uint32_t threadId, JSTaggedType *ref, Region *objectRegion = nullp…
Dparallel_evacuation-inl.h29 bool ParallelEvacuation::IsWholeRegionEvacuate(Region *region) in IsWholeRegionEvacuate()
55 Region *objectRegion = Region::ObjectAddressToRange(value); in UpdateWeakObjectSlot()
86 Region *region = Region::ObjectAddressToRange(object); in SetObjectFieldRSet()
91 Region *valueRegion = Region::ObjectAddressToRange(value); in SetObjectFieldRSet()
Dallocator.h25 class Region; variable
79 inline void Initialize(Region *region);
84 inline void AddFree(Region *region);
89 inline void CollectFreeObjectSet(Region *region);
90 inline void DetachFreeObjectSet(Region *region);
Dbarriers-inl.h28 Region *objectRegion = Region::ObjectAddressToRange(static_cast<TaggedObject *>(obj)); in WriteBarrier()
29 Region *valueRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(value)); in WriteBarrier()
Dparallel_evacuation.cpp59 heap_->GetFromSpace()->EnumerateRegions([this] (Region *current) { in EvacuateSpace()
63 heap_->GetOldSpace()->EnumerateCollectRegionSet([this](Region *current) { in EvacuateSpace()
96 void ParallelEvacuation::EvacuateRegion(TlabAllocator *allocator, Region *region) in EvacuateRegion()
159 Region *object_region = Region::ObjectAddressToRange(value.GetTaggedObject()); in VerifyHeapObject()
181 heap_->GetNewSpace()->EnumerateRegions([&] (Region *current) { in UpdateReference()
190 heap_->EnumerateOldSpaceRegions([this, &oldRegionCount] (Region *current) { in UpdateReference()
259Region *objectRegion = Region::ObjectAddressToRange(reinterpret_cast<TaggedObject *>(header)); in UpdateWeakReference()
288 void ParallelEvacuation::UpdateRSet(Region *region) in UpdateRSet()
295 Region *valueRegion = Region::ObjectAddressToRange(slot.GetTaggedObjectHeader()); in UpdateRSet()
314 void ParallelEvacuation::UpdateNewRegionReference(Region *region) in UpdateNewRegionReference()
[all …]
Dallocator-inl.h60 void FreeListAllocator::Initialize(Region *region) in Initialize()
72 void FreeListAllocator::AddFree(Region *region) in AddFree()
85 Region::ObjectAddressToRange(ret)->IncrementAliveObject(size); in Allocate()
105 Region::ObjectAddressToRange(begin)->IncrementAliveObject(size); in Allocate()
112 Region::ObjectAddressToRange(ret)->IncrementAliveObject(size); in Allocate()
159 inline void FreeListAllocator::CollectFreeObjectSet(Region *region) in CollectFreeObjectSet()
170 inline void FreeListAllocator::DetachFreeObjectSet(Region *region) in DetachFreeObjectSet()
Dspace-inl.h22 void Space::AddRegion(Region *region) in AddRegion()
30 void Space::RemoveRegion(Region *region) in RemoveRegion()
39 void Space::EnumerateRegions(const Callback &cb, Region *end) const in EnumerateRegions()
41 Region *current = regionList_.GetFirst(); in EnumerateRegions()
Dheap_region_allocator.cpp23 Region *HeapRegionAllocator::AllocateAlignedRegion(Space *space, size_t capacity) in AllocateAlignedRegion()
49 …uintptr_t begin = AlignUp(mem + sizeof(Region), static_cast<size_t>(MemAlignment::MEM_ALIGN_REGION… in AllocateAlignedRegion()
52 return new (ToVoidPtr(mem)) Region(space, space->GetHeap(), mem, begin, end, in AllocateAlignedRegion()
56 void HeapRegionAllocator::FreeRegion(Region *region) in FreeRegion()
Dparallel_marker.cpp38 void Marker::ProcessOldToNew(uint32_t threadId, Region *region) in ProcessOldToNew()
55 Region *rootRegion = Region::ObjectAddressToRange(root); in ProcessMarkStack()
69 Region *valueRegion = Region::ObjectAddressToRange(obj); in ProcessMarkStack()
102 Region *rootRegion = Region::ObjectAddressToRange(root); in ProcessMarkStack()
Dfull_gc.cpp56 auto callback = [](Region *current) { in InitializePhase()
100 Region *objectRegion = Region::ObjectAddressToRange(header); in SweepPhases()
121 Region *objectRegion = Region::ObjectAddressToRange(header); in SweepPhases()
/ark/runtime_core/runtime/mem/
Dregion_space.cpp20 InternalAllocatorPtr Region::GetInternalAllocator() in GetInternalAllocator()
25 void Region::CreateRemSet() in CreateRemSet()
31 MarkBitmap *Region::CreateMarkBitmap() in CreateMarkBitmap()
44 void Region::SetMarkBit(ObjectHeader *object) in SetMarkBit()
50 uint32_t Region::CalcLiveBytes() const in CalcLiveBytes()
59 void Region::Destroy() in Destroy()
83 ASSERT(Region::IsAlignment(regions_begin, region_size_)); in Init()
87 size_t size = num_regions * sizeof(Region *); in Init()
88 auto data = reinterpret_cast<Region **>(allocator_->Alloc(size)); in Init()
90 occupied_ = Span<Region *>(data, num_regions); in Init()
[all …]
Dregion_space.h45 class Region {
47 NO_THREAD_SANITIZE explicit Region(RegionSpace *space, uintptr_t begin, uintptr_t end) in Region() function
61 ~Region() = default;
63 NO_COPY_SEMANTIC(Region);
64 NO_MOVE_SEMANTIC(Region);
185 return AlignUp(sizeof(Region), DEFAULT_ALIGNMENT_IN_BYTES); in HeadSize()
194 static Region *AddrToRegion(const void *addr, size_t mask = DEFAULT_REGION_MASK)
200 return reinterpret_cast<Region *>(region_addr);
205 return reinterpret_cast<Region *>(((ToUintPtr(addr) - start_addr) & ~mask) + start_addr);
266 static Region *AsRegion(DListNode *node) in AsRegion()
[all …]
Dregion_allocator.h52 Region *GetRegion(const ObjectHeader *object) const in GetRegion()
77 Region *AllocRegion(size_t region_size) in AllocRegion()
166 … this->GetSpace()->IterateRegions([&](Region *region) { region->IterateOverObjects(visitor); }); in IterateOverObjects()
169 PandaVector<Region *> GetTopGarbageRegions(size_t region_count);
177 PandaVector<Region *> GetAllSpecificRegions();
203 …void CompactSeveralSpecificRegions(const PandaVector<Region *> &regions, const GCObjectVisitor &de…
218 void ResetSeveralSpecificRegions(const PandaVector<Region *> &regions);
227 return REGION_SIZE - AlignUp(sizeof(Region), DEFAULT_ALIGNMENT_IN_BYTES); in GetMaxRegularObjectSize()
247 Region *GetCurrentRegion() in GetCurrentRegion()
249 Region **cur_region = GetCurrentRegionPointerUnsafe<region_type>(); in GetCurrentRegion()
[all …]
Drem_set.h32 class Region; variable
40 explicit RemSet(Region *region);
54 Region *GetRegion() in GetRegion()
59 CardList *GetCardList(Region *region);
84 Region *region_;
86 PandaUnorderedMap<Region *, CardList *> regions_ GUARDED_BY(rem_set_lock_);
Dregion_space-inl.h25 explicit RegionAllocCheck(Region *region) : region_(region) in RegionAllocCheck()
37 Region *region_ FIELD_UNUSED;
42 explicit RegionIterateCheck(Region *region) : region_(region) in RegionIterateCheck()
54 Region *region_ FIELD_UNUSED;
58 void *Region::Alloc(size_t size, Alignment align) in Alloc()
85 void Region::IterateOverObjects(const ObjectVisitor &visitor) in IterateOverObjects()
107 auto *region = Region::AsRegion(&(*it)); in IterateRegions()
Dregion_allocator-inl.h101 Region *region = this->AllocRegion(REGION_SIZE); in AllocRegular()
129 Region *region = this->AllocRegion(Region::RegionSize(align_size, REGION_SIZE)); in Alloc()
153 Region *region = nullptr; in CreateNewTLAB()
201 Region *r = Region::AddrToRegion(tlab->GetStartAddr()); in RevokeTLAB()
215 PandaVector<Region *> RegionAllocator<AllocConfigT, LockConfigT>::GetTopGarbageRegions(size_t regio… in GetTopGarbageRegions()
217 PandaPriorityQueue<std::pair<uint32_t, Region *>> queue; in GetTopGarbageRegions()
218 this->GetSpace()->IterateRegions([&](Region *region) { in GetTopGarbageRegions()
220 queue.push(std::pair<uint32_t, Region *>(garbage_bytes, region)); in GetTopGarbageRegions()
222 PandaVector<Region *> regions; in GetTopGarbageRegions()
233 PandaVector<Region *> RegionAllocator<AllocConfigT, LockConfigT>::GetAllSpecificRegions() in GetAllSpecificRegions()
[all …]
Drem_set-inl.h25 RemSet<LockConfigT>::RemSet(Region *region) : region_(region) in RemSet()
39 auto from_region = Region::AddrToRegion(from_field_addr); in AddRef()
65 CardList *RemSet<LockConfigT>::GetCardList(Region *region) in GetCardList()
91 auto from_region = Region::AddrToRegion(obj_addr); in AddRefWithAddr()
96 auto to_region = Region::AddrToRegion(value_addr); in AddRefWithAddr()

123