#include "src/heap/cppgc/heap-statistics-collector.h"
#include <string>
#include <unordered_map>
#include "include/cppgc/heap-statistics.h"
#include "include/cppgc/name-provider.h"
#include "src/heap/cppgc/free-list.h"
#include "src/heap/cppgc/globals.h"
#include "src/heap/cppgc/heap-base.h"
#include "src/heap/cppgc/heap-object-header.h"
#include "src/heap/cppgc/page-memory.h"
#include "src/heap/cppgc/raw-heap.h"
#include "src/heap/cppgc/stats-collector.h"
namespace cppgc {
namespace internal {
namespace {
std::string GetNormalPageSpaceName(size_t index) { … }
HeapStatistics::SpaceStatistics* InitializeSpace(HeapStatistics* stats,
std::string name) { … }
HeapStatistics::PageStatistics* InitializePage(
HeapStatistics::SpaceStatistics* stats) { … }
void FinalizePage(HeapStatistics::SpaceStatistics* space_stats,
HeapStatistics::PageStatistics** page_stats) { … }
void FinalizeSpace(HeapStatistics* stats,
HeapStatistics::SpaceStatistics** space_stats,
HeapStatistics::PageStatistics** page_stats) { … }
void RecordObjectType(
std::unordered_map<const void*, size_t>& type_map,
std::vector<HeapStatistics::ObjectStatsEntry>& object_statistics,
HeapObjectHeader* header, size_t object_size) { … }
}
HeapStatistics HeapStatisticsCollector::CollectDetailedStatistics(
HeapBase* heap) { … }
bool HeapStatisticsCollector::VisitNormalPageSpace(NormalPageSpace& space) { … }
bool HeapStatisticsCollector::VisitLargePageSpace(LargePageSpace& space) { … }
bool HeapStatisticsCollector::VisitNormalPage(NormalPage& page) { … }
bool HeapStatisticsCollector::VisitLargePage(LargePage& page) { … }
bool HeapStatisticsCollector::VisitHeapObjectHeader(HeapObjectHeader& header) { … }
}
}