/arkcompiler/ets_runtime/ecmascript/mem/ |
H A D | partial_gc.cpp | 26 PartialGC::PartialGC(Heap *heap) : heap_(heap), workManager_(heap->GetWorkManager()) {} in PartialGC() 30 GCStats *gcStats = heap_->GetEcmaVM()->GetEcmaGCStats(); in RunPhases() 31 ECMA_BYTRACE_NAME(HITRACE_TAG_ARK, "PartialGC::RunPhases" + std::to_string(heap_->IsConcurrentFullMark()) in RunPhases() 33 + ";Sensitive" + std::to_string(static_cast<int>(heap_->GetSensitiveStatus())) in RunPhases() 34 + ";IsInBackground" + std::to_string(heap_->IsInBackground()) in RunPhases() 35 + ";Startup" + std::to_string(heap_->OnStartupEvent()) in RunPhases() 36 + ";ConMark" + std::to_string(static_cast<int>(heap_->GetJSThread()->GetMarkStatus())) in RunPhases() 37 + ";Young" + std::to_string(heap_->GetNewSpace()->GetCommittedSize()) in RunPhases() 38 + ";Old" + std::to_string(heap_->GetOldSpace()->GetCommittedSize()) in RunPhases() 39 + ";TotalCommit" + std::to_string(heap_ in RunPhases() [all...] |
H A D | full_gc.cpp | 25 FullGC::FullGC(Heap *heap) : heap_(heap), workManager_(heap->GetWorkManager()) {} in FullGC() 29 GCStats *gcStats = heap_->GetEcmaVM()->GetEcmaGCStats(); in RunPhases() 32 + ";Sensitive" + std::to_string(static_cast<int>(heap_->GetSensitiveStatus())) in RunPhases() 33 + ";IsInBackground" + std::to_string(heap_->IsInBackground()) in RunPhases() 34 + ";Startup" + std::to_string(heap_->OnStartupEvent()) in RunPhases() 35 + ";Young" + std::to_string(heap_->GetNewSpace()->GetCommittedSize()) in RunPhases() 36 + ";Old" + std::to_string(heap_->GetOldSpace()->GetCommittedSize()) in RunPhases() 37 + ";huge" + std::to_string(heap_->GetHugeObjectSpace()->GetCommittedSize()) in RunPhases() 38 + ";NonMov" + std::to_string(heap_->GetNonMovableSpace()->GetCommittedSize()) in RunPhases() 39 + ";TotCommit" + std::to_string(heap_ in RunPhases() [all...] |
H A D | concurrent_marker.cpp | 26 : heap_(heap), in ConcurrentMarker() 50 TRACE_GC(GCStats::Scope::ScopeId::ConcurrentMark, heap_->GetEcmaVM()->GetEcmaGCStats()); in Mark() 56 heap_->PostParallelGCTask(ParallelGCTaskPhase::CONCURRENT_HANDLE_GLOBAL_POOL_TASK); in Mark() 66 TRACE_GC(GCStats::Scope::ScopeId::ReMark, heap_->GetEcmaVM()->GetEcmaGCStats()); in ReMark() 69 Marker *nonMovableMarker = heap_->GetNonMovableMarker(); in ReMark() 72 heap_->WaitRunningTaskFinished(); in ReMark() 82 if (heap_->IsConcurrentFullMark()) { in HandleMarkingFinished() 84 } else if (heap_->IsEdenMark()) { in HandleMarkingFinished() 89 heap_->CollectGarbage(gcType, gcReason); in HandleMarkingFinished() 110 heap_ in Reset() [all...] |
H A D | idle_gc_trigger.cpp | 51 if (heap_->GetJSThread()->IsMarkFinished() && heap_->GetConcurrentMarker()->IsTriggeredConcurrentMark() in TryTriggerHandleMarkFinished() 52 && !heap_->GetOnSerializeEvent() && !heap_->InSensitiveStatus()) { in TryTriggerHandleMarkFinished() 53 heap_->SetCanThrowOOMError(false); in TryTriggerHandleMarkFinished() 54 heap_->GetConcurrentMarker()->HandleMarkingFinished(); in TryTriggerHandleMarkFinished() 55 heap_->SetCanThrowOOMError(true); in TryTriggerHandleMarkFinished() 61 if (heap_->GetConcurrentMarker()->IsEnabled() && heap_->CheckCanTriggerConcurrentMarking()) { in TryTriggerLocalConcurrentMark() 62 heap_ in TryTriggerLocalConcurrentMark() [all...] |
H A D | incremental_marker.cpp | 28 : heap_(heap), in IncrementalMarker() 34 ASSERT(!heap_->GetConcurrentMarker()->IsTriggeredConcurrentMark()); in TriggerIncrementalMark() 48 heap_->CollectGarbage(TriggerGCType::OLD_GC, GCReason::IDLE); in TriggerIncrementalMark() 64 heap_->GetNonMovableMarker()->MarkRoots(MAIN_THREAD_INDEX); in Mark() 72 startObjectSize_ = heap_->GetHeapObjectSize(); in Initialize() 75 heap_->SetMarkType(MarkType::MARK_FULL); in Initialize() 76 heap_->GetJSThread()->SetMarkStatus(MarkStatus::MARKING); in Initialize() 77 heap_->Prepare(); in Initialize() 78 heap_->GetOldSpace()->SelectCSet(); in Initialize() 79 heap_ in Initialize() [all...] |
H A D | concurrent_sweeper.cpp | 23 : heap_(heap), in ConcurrentSweeper() 33 std::make_unique<SweeperTask>(heap_->GetJSThread()->GetThreadId(), this, OLD_SPACE)); in PostTask() 36 std::make_unique<SweeperTask>(heap_->GetJSThread()->GetThreadId(), this, NON_MOVABLE)); in PostTask() 38 std::make_unique<SweeperTask>(heap_->GetJSThread()->GetThreadId(), this, MACHINE_CODE_SPACE)); in PostTask() 44 MEM_ALLOCATE_AND_GC_TRACE(heap_->GetEcmaVM(), ConcurrentSweepingInitialize); in Sweep() 48 heap_->GetOldSpace()->PrepareSweeping(); in Sweep() 50 heap_->GetNonMovableSpace()->PrepareSweeping(); in Sweep() 51 heap_->GetMachineCodeSpace()->PrepareSweeping(); in Sweep() 60 heap_->GetOldSpace()->Sweep(); in Sweep() 62 heap_ in Sweep() [all...] |
H A D | parallel_evacuator.cpp | 24 MEM_ALLOCATE_AND_GC_TRACE(heap_->GetEcmaVM(), ParallelEvacuatorInitialize); in Initialize() 25 waterLine_ = heap_->GetNewSpace()->GetWaterLine(); in Initialize() 26 if (heap_->IsEdenMark()) { in Initialize() 27 heap_->ReleaseEdenAllocator(); in Initialize() 29 ASSERT(heap_->IsYoungMark() || heap_->IsFullMark()); in Initialize() 30 heap_->SwapNewSpace(); in Initialize() 32 allocator_ = new TlabAllocator(heap_); in Initialize() 39 MEM_ALLOCATE_AND_GC_TRACE(heap_->GetEcmaVM(), ParallelEvacuatorFinalize); in Finalize() 65 heap_ in UpdateTrackInfo() [all...] |
H A D | mem_controller.cpp | 22 MemController::MemController(Heap *heap) : heap_(heap), allocTimeMs_(GetSystemTimeInMs()) in MemController() 47 switch (heap_->GetMemGrowingType()) { in CalculateGrowingFactor() 73 OPTIONAL_LOG(heap_->GetEcmaVM(), INFO) << "CalculateGrowingFactor gcSpeed" in CalculateGrowingFactor() 85 auto edenSpace = heap_->GetEdenSpace(); in StartCalculationBeforeGC() 88 auto newSpace = heap_->GetNewSpace(); in StartCalculationBeforeGC() 90 size_t hugeObjectAllocSizeSinceGC = heap_->GetHugeObjectSpace()->GetHeapObjectSize() - hugeObjectAllocSizeSinceGC_; in StartCalculationBeforeGC() 91 size_t oldSpaceAllocAccumulatedSize = heap_->GetOldSpace()->GetTotalAllocatedSize(); in StartCalculationBeforeGC() 92 size_t nonMovableSpaceAllocAccumulatedSize = heap_->GetNonMovableSpace()->GetTotalAllocatedSize(); in StartCalculationBeforeGC() 93 size_t codeSpaceAllocAccumulatedSize = heap_->GetMachineCodeSpace()->GetTotalAllocatedSize(); in StartCalculationBeforeGC() 115 if (heap_ in StartCalculationBeforeGC() [all...] |
H A D | gc_stats.cpp | 43 ASSERT(heap_ != nullptr); in PrintGCStatistic() 44 ASSERT(heap_->GetEcmaVM() != nullptr); in PrintGCStatistic() 45 if (heap_->GetEcmaVM()->GetJSOptions().EnableGCTracer() || CheckIfLongTimePause()) { in PrintGCStatistic() 54 LOG_GC(INFO) << "IsInBackground: " << heap_->IsInBackground() << "; " in PrintGCStatistic() 55 << "SensitiveStatus: " << static_cast<int>(heap_->GetSensitiveStatus()) << "; " in PrintGCStatistic() 56 << "OnStartupEvent: " << heap_->OnStartupEvent() << "; " in PrintGCStatistic() 57 << "BundleName: " << heap_->GetEcmaVM()->GetBundleName() << ";"; in PrintGCStatistic() 113 NativeAreaAllocator *nativeAreaAllocator = heap_->GetNativeAreaAllocator(); in PrintGCMemoryStatistic() 114 HeapRegionAllocator *heapRegionAllocator = heap_->GetHeapRegionAllocator(); in PrintGCMemoryStatistic() 117 << STATS_DATA_FORMAT(sizeToKB(heap_ in PrintGCMemoryStatistic() [all...] |
H A D | parallel_marker.cpp | 19 Marker::Marker(Heap *heap) : heap_(heap), workManager_(heap->GetWorkManager()) {} in Marker() 23 TRACE_GC(GCStats::Scope::ScopeId::MarkRoots, heap_->GetEcmaVM()->GetEcmaGCStats()); in MarkRoots() 26 heap_->GetEcmaVM(), in MarkRoots() 39 heap_->EnumerateNewSpaceRegions([this, threadId](Region *region) {this->HandleNewToEdenRSet(threadId, region);}); in ProcessNewToEden() 45 heap_->EnumerateNewSpaceRegions([this, threadId](Region *region) {this->HandleNewToEdenRSet(threadId, region);}); in ProcessNewToEdenNoMarkStack() 50 heap_->EnumerateOldSpaceRegions([this, threadId](Region *region) { in ProcessOldToNew() 58 heap_->EnumerateOldSpaceRegions([this, threadId](Region *region) { in ProcessOldToNewNoMarkStack() 65 heap_->EnumerateOldSpaceRegions([this, threadId](Region *region) { in ProcessOldToNew() 73 heap_->EnumerateSnapshotSpaceRegions([this, threadId](Region *region) { in ProcessSnapshotRSet() 81 heap_ in ProcessSnapshotRSetNoMarkStack() [all...] |
H A D | verification.h | 32 VerifyScope(BaseHeap *heap) : heap_(heap) in VerifyScope() 34 heap_->SetVerifying(true); in VerifyScope() 39 heap_->SetVerifying(false); in ~VerifyScope() 42 BaseHeap *heap_ {nullptr}; 54 : heap_(heap), failCount_(failCount), verifyKind_(verifyKind) in VerifyObjectVisitor() 85 const BaseHeap* const heap_ {nullptr}; 93 : heap_(heap), verifyKind_(verifyKind) {} in Verification() 109 Heap *heap_ {nullptr};
|
H A D | tlab_allocator-inl.h | 30 : heap_(heap), enableExpandYoung_(true), enableStealOldRegion_(true) in TlabAllocator() 40 FreeObject::FillFreeObject(heap_, youngAllocator_.GetTop(), youngAllocator_.Available()); in Finalize() 44 heap_->MergeToOldSpaceSync(localSpace_); in Finalize() 71 uintptr_t address = heap_->AllocateYoungSync(size); in AllocateInYoungSpace() 113 uintptr_t buffer = heap_->AllocateYoungSync(MIN_BUFFER_SIZE); in ExpandYoung() 116 FreeObject::FillFreeObject(heap_, youngAllocator_.GetTop(), youngAllocator_.Available()); in ExpandYoung() 126 FreeObject::FillFreeObject(heap_, youngAllocator_.GetTop(), youngAllocator_.Available()); in ExpandYoung() 135 auto region = heap_->GetOldSpace()->TryToGetExclusiveRegion(size); in ExpandCompressFromOld()
|
H A D | verification.cpp | 120 LogErrorForObjSlot(heap_, "Heap verify detected an invalid value.", in VerifyObjectSlotLegal() 123 if (!heap_->IsAlive(value.GetTaggedWeakRef())) { in VerifyObjectSlotLegal() 124 LogErrorForObjSlot(heap_, "Heap verify detected a dead weak object.", in VerifyObjectSlotLegal() 139 LogErrorForObjSlot(heap_, "Heap verify detected an invalid value.", in VerifyHeapObjectSlotLegal() 142 if (!heap_->IsAlive(slotValue.GetTaggedObject())) { in VerifyHeapObjectSlotLegal() 143 LogErrorForObjSlot(heap_, "Heap verify detected a dead object.", in VerifyHeapObjectSlotLegal() 193 LogErrorForObjSlot(heap_, "Verify MarkEden: Old object, slot miss old_to_new bit.", object, slot, value); in VerifyMarkEden() 195 LogErrorForObjSlot(heap_, "Verify MarkEden: Old object, slot has old_to_new bit, miss gc_mark bit.", in VerifyMarkEden() 204 LogErrorForObjSlot(heap_, "Verify MarkEden: Young object, slot miss new_to_eden bit.", object, slot, value); in VerifyMarkEden() 206 LogErrorForObjSlot(heap_, "Verif in VerifyMarkEden() [all...] |
H A D | rset_worklist_handler-inl.h | 26 inline RSetWorkListHandler::RSetWorkListHandler(Heap *heap) : heap_(heap) in RSetWorkListHandler() 107 (JSThread::GetCurrent() == heap_->GetEcmaVM()->GetJSThread() && JSThread::GetCurrent()->IsInRunningState())); 117 ASSERT(JSThread::GetCurrent() == heap_->GetEcmaVM()->GetJSThread()); in WaitFinishedThenMergeBack() 155 heap_->SetRSetWorkListHandler(nullptr); 161 return heap_; in GetHeap()
|
H A D | partial_gc.h | 42 return heap_; in GetHeap() 56 Heap *heap_; member in panda::ecmascript::PartialGC
|
H A D | space.cpp | 26 : heap_(heap), in Space() 152 if (heap_->OldSpaceExceedCapacity(allocSize)) { in AllocateFort() 156 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, allocSize, thread, heap_); in AllocateFort() 161 PageProtectProt(reinterpret_cast<Heap *>(heap_)->GetEcmaVM()->GetJSOptions().GetDisableCodeSign() || in AllocateFort() 185 if (reinterpret_cast<Heap *>(heap_)->GetEcmaVM()->GetJSOptions().GetEnableAsyncCopyToFort() && in Allocate() 224 if (heap_->OldSpaceExceedCapacity(alignedSize)) { in Allocate() 228 Region *region = heapRegionAllocator_->AllocateAlignedRegion(this, alignedSize, thread, heap_); in Allocate()
|
H A D | thread_local_allocation_buffer.h | 28 ThreadLocalAllocationBuffer(Heap *heap) : heap_(heap) {} in ThreadLocalAllocationBuffer() 94 Heap *heap_ {nullptr};
|
H A D | allocation_inspector.h | 30 heap_(heap) {} in AllocationInspector() 44 [[maybe_unused]] Heap *const heap_; member in panda::ecmascript::AllocationInspector
|
H A D | gc_key_stats.h | 58 explicit GCKeyStats(const Heap *heap) : heap_(heap) {} in GCKeyStats() 59 GCKeyStats(const Heap *heap, GCStats *gcStats) : heap_(heap), in GCKeyStats() 125 const Heap *heap_; member in panda::ecmascript::GCKeyStats
|
/arkcompiler/runtime_core/static_core/runtime/mem/ |
H A D | heap_verifier.h | 32 explicit HeapReferenceVerifier(HeapManager *heap, size_t *count) : heap_(heap), failCount_(count) {} in HeapReferenceVerifier() 39 HeapManager *const heap_ {nullptr}; 52 HeapObjectVerifier(HeapManager *heap, size_t *count) : heap_(heap), failCount_(count) {} in HeapObjectVerifier() 62 HeapManager *const heap_ {nullptr}; 68 explicit HeapVerifierBase(HeapManager *heap) : heap_(heap) {} in HeapVerifierBase() 74 HeapManager *heap_ = nullptr; // NOLINT(misc-non-private-member-variables-in-classes) member in ark::mem::HeapVerifierBase
|
H A D | heap_verifier.cpp | 40 HeapReferenceVerifier<LANG_TYPE> refVerifier(heap_, failCount_); in operator ()() 55 if (!heap_->IsLiveObject(referent)) { in operator ()() 78 if (!heap_->IsLiveObject(referent)) { in operator ()() 96 return heap_->ContainObject(reinterpret_cast<ObjectHeader *>(addr)); in IsHeapAddress() 102 return heap_->VerifyHeapReferences(); in VerifyHeap() 110 rootManager.SetPandaVM(heap_->GetPandaVM()); in VerifyRoot() 119 HeapReferenceVerifier<LanguageConfig::LANG_TYPE>(heap_, &failCount)(root); in VerifyRoot() 193 heap_->IterateOverObjects(collectObjects); in VerifyAll() 197 rootManager.SetPandaVM(heap_->GetPandaVM()); in VerifyAll() 308 heap_ in CollectVerificationInfo() [all...] |
/arkcompiler/ets_runtime/ecmascript/ |
H A D | ecma_vm.cpp | 116 heap_->CompactHeapBeforeFork(); in PreFork() 117 heap_->AdjustSpaceSizeForAppSpawn(); in PreFork() 118 heap_->GetReadOnlySpace()->SetReadOnly(); in PreFork() 119 heap_->DisableParallelGC(); in PreFork() 130 heap_->SetHeapMode(HeapMode::SHARE); in PostFork() 138 heap_->EnableParallelGC(); in PostFork() 148 heap_->NotifyPostFork(); in PostFork() 149 heap_->NotifyFinishColdStartSoon(); in PostFork() 269 heap_ = new Heap(this); in Initialize() 270 heap_ in Initialize() [all...] |
H A D | object_factory-inl.h | 111 header = heap_->AllocateNonMovableOrHugeObject(jsNativePointerClass); in NewJSNativePointer() 113 header = heap_->AllocateOldOrHugeObject(jsNativePointerClass); in NewJSNativePointer() 124 heap_->IncreaseNativeBindingSize(fixedNativeBindingsize); in NewJSNativePointer() 129 heap_->TryTriggerFullMarkOrGCByNativeSize(); in NewJSNativePointer() 138 auto header = heap_->TryAllocateYoungGeneration( in InlineNewLexicalEnv() 167 return heap_->AllocateYoungOrHugeObject(cls, size); in AllocObjectWithSpaceType() 169 return heap_->AllocateOldOrHugeObject(cls, size); in AllocObjectWithSpaceType() 171 return heap_->AllocateNonMovableOrHugeObject(cls, size); in AllocObjectWithSpaceType()
|
/arkcompiler/ets_runtime/ecmascript/serializer/ |
H A D | base_deserializer.h | 192 heap_->StatisticHeapDetail(); in DeserializeFatalOutOfMemory() 193 heap_->DumpHeapSnapshotBeforeOOM(); in DeserializeFatalOutOfMemory() 197 << heap_->GetOldSpace()->GetHeapObjectSize() in DeserializeFatalOutOfMemory() 199 << heap_->GetOldSpace()->GetCommittedSize() in DeserializeFatalOutOfMemory() 201 << heap_->GetNonMovableSpace()->GetHeapObjectSize() in DeserializeFatalOutOfMemory() 203 << heap_->GetNonMovableSpace()->GetCommittedSize() in DeserializeFatalOutOfMemory() 205 << heap_->GetHugeObjectSpace()->GetCommittedSize(); in DeserializeFatalOutOfMemory() 216 Heap *heap_; member in panda::ecmascript::BaseDeserializer
|
H A D | base_deserializer.cpp | 38 : thread_(thread), heap_(const_cast<Heap *>(thread->GetEcmaVM()->GetHeap())), data_(data), engine_(hint) in BaseDeserializer() 67 heap_->SetOnSerializeEvent(true); in DeserializeJSTaggedValue() 96 heap_->SetOnSerializeEvent(false); in DeserializeJSTaggedValue() 320 heap_->IncNativeSizeAfterLastGC(bufferLength); in ReadSingleEncodeData() 322 heap_->IncreaseNativeBindingSize(bufferLength); in ReadSingleEncodeData() 412 res = heap_->GetHugeObjectSpace()->Allocate(objSize, thread_, AllocateEventType::DESERIALIZE); in RelocateObjectAddr() 561 heap_->GetOldSpace()->IncreaseLiveObjectSize(oldSpaceSize); in AllocateToDifferentSpaces() 566 heap_->GetNonMovableSpace()->IncreaseLiveObjectSize(nonMovableSpaceSize); in AllocateToDifferentSpaces() 571 heap_->GetMachineCodeSpace()->IncreaseLiveObjectSize(machineCodeSpaceSize); in AllocateToDifferentSpaces() 598 FreeObject::FillFreeObject(heap_, currentRegio in AllocateMultiRegion() [all...] |