diff --git a/common_components/heap/allocator/region_manager.h b/common_components/heap/allocator/region_manager.h index 94c102df5f416f32a40f0e0d5e0ae490ee1aebdf..bc22f9db19639ccbd4283e4da05ad8527d05bab9 100755 --- a/common_components/heap/allocator/region_manager.h +++ b/common_components/heap/allocator/region_manager.h @@ -333,7 +333,7 @@ public: size_t GetUsedUnitCount() const { return largeRegionList_.GetUnitCount() + recentLargeRegionList_.GetUnitCount() + - pinnedRegionList_.GetUnitCount() + recentPinnedRegionList_.GetUnitCount() + + GetPinnedUnitCount() + rawPointerRegionList_.GetUnitCount() + readOnlyRegionList_.GetUnitCount() + largeTraceRegions_.GetUnitCount() + appSpawnRegionList_.GetUnitCount(); } @@ -355,6 +355,17 @@ public: appSpawnRegionList_.GetAllocatedSize(); } + inline size_t GetPinnedUnitCount() const + { + size_t pinnedUnitCount = + pinnedRegionList_.GetUnitCount() + recentPinnedRegionList_.GetUnitCount(); + for (size_t i = 0; i < FIXED_PINNED_REGION_COUNT; i++) { + pinnedUnitCount += recentFixedPinnedRegionList_[i]->GetUnitCount(); + pinnedUnitCount += fixedPinnedRegionList_[i]->GetUnitCount(); + } + return pinnedUnitCount; + } + inline size_t GetPinnedSpaceSize() const { size_t pinnedSpaceSize = diff --git a/common_components/heap/collector/trace_collector.cpp b/common_components/heap/collector/trace_collector.cpp index 21f1e9b69b5e0f8601336788ac5199a35046ece3..7a3b1f905bdc8095cc009773c061f7fa6e54ac89 100755 --- a/common_components/heap/collector/trace_collector.cpp +++ b/common_components/heap/collector/trace_collector.cpp @@ -579,6 +579,7 @@ void TraceCollector::PreGarbageCollection(bool isConcurrent) gcStats.collectedBytes = 0; gcStats.smallGarbageSize = 0; gcStats.pinnedGarbageSize = 0; + gcStats.largeGarbageSize = 0; gcStats.gcStartTime = TimeUtil::NanoSeconds(); gcStats.totalSTWTime = 0; gcStats.maxSTWTime = 0;