summaryrefslogtreecommitdiff
path: root/chromium/v8/include/cppgc/heap-statistics.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-10-26 13:57:00 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-11-02 11:31:01 +0000
commit1943b3c2a1dcee36c233724fc4ee7613d71b9cf6 (patch)
tree8c1b5f12357025c197da5427ae02cfdc2f3570d6 /chromium/v8/include/cppgc/heap-statistics.h
parent21ba0c5d4bf8fba15dddd97cd693bad2358b77fd (diff)
downloadqtwebengine-chromium-1943b3c2a1dcee36c233724fc4ee7613d71b9cf6.tar.gz
BASELINE: Update Chromium to 94.0.4606.111
Change-Id: I924781584def20fc800bedf6ff41fdb96c438193 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/include/cppgc/heap-statistics.h')
-rw-r--r--chromium/v8/include/cppgc/heap-statistics.h56
1 files changed, 33 insertions, 23 deletions
diff --git a/chromium/v8/include/cppgc/heap-statistics.h b/chromium/v8/include/cppgc/heap-statistics.h
index 2fe6e1ae58a..8e626596e5b 100644
--- a/chromium/v8/include/cppgc/heap-statistics.h
+++ b/chromium/v8/include/cppgc/heap-statistics.h
@@ -5,7 +5,8 @@
#ifndef INCLUDE_CPPGC_HEAP_STATISTICS_H_
#define INCLUDE_CPPGC_HEAP_STATISTICS_H_
-#include <memory>
+#include <cstddef>
+#include <cstdint>
#include <string>
#include <vector>
@@ -30,19 +31,17 @@ struct HeapStatistics final {
};
/**
- * Statistics of object types. For each type the statistics record its name,
- * how many objects of that type were allocated, and the overall size used by
- * these objects.
+ * Object statistics for a single type.
*/
- struct ObjectStatistics {
- /** Number of distinct types in the heap. */
- size_t num_types = 0;
- /** Name of each type in the heap. */
- std::vector<std::string> type_name;
- /** Number of allocated objects per each type. */
- std::vector<size_t> type_count;
- /** Overall size of allocated objects per each type. */
- std::vector<size_t> type_bytes;
+ struct ObjectStatsEntry {
+ /**
+ * Number of allocated bytes.
+ */
+ size_t allocated_bytes;
+ /**
+ * Number of allocated objects.
+ */
+ size_t object_count;
};
/**
@@ -50,10 +49,15 @@ struct HeapStatistics final {
* allocated memory size and overall used memory size for the page.
*/
struct PageStatistics {
- /** Overall amount of memory allocated for the page. */
- size_t physical_size_bytes = 0;
+ /** Overall committed amount of memory for the page. */
+ size_t committed_size_bytes = 0;
+ /** Resident amount of memory held by the page. */
+ size_t resident_size_bytes = 0;
/** Amount of memory actually used on the page. */
size_t used_size_bytes = 0;
+ /** Statistics for object allocated on the page. Filled only when
+ * NameProvider::HideInternalNames() is false. */
+ std::vector<ObjectStatsEntry> object_statistics;
};
/**
@@ -80,29 +84,35 @@ struct HeapStatistics final {
struct SpaceStatistics {
/** The space name */
std::string name;
- /** Overall amount of memory allocated for the space. */
- size_t physical_size_bytes = 0;
+ /** Overall committed amount of memory for the heap. */
+ size_t committed_size_bytes = 0;
+ /** Resident amount of memory held by the heap. */
+ size_t resident_size_bytes = 0;
/** Amount of memory actually used on the space. */
size_t used_size_bytes = 0;
/** Statistics for each of the pages in the space. */
std::vector<PageStatistics> page_stats;
/** Statistics for the freelist of the space. */
FreeListStatistics free_list_stats;
- /** Statistics for object allocated on the space. Filled only when
- * NameProvider::HideInternalNames() is false. */
- ObjectStatistics object_stats;
};
- /** Overall amount of memory allocated for the heap. */
- size_t physical_size_bytes = 0;
+ /** Overall committed amount of memory for the heap. */
+ size_t committed_size_bytes = 0;
+ /** Resident amount of memory help by the heap. */
+ size_t resident_size_bytes = 0;
/** Amount of memory actually used on the heap. */
size_t used_size_bytes = 0;
/** Detail level of this HeapStatistics. */
DetailLevel detail_level;
/** Statistics for each of the spaces in the heap. Filled only when
- * detail_level is kDetailed. */
+ * `detail_level` is `DetailLevel::kDetailed`. */
std::vector<SpaceStatistics> space_stats;
+
+ /**
+ * Vector of `cppgc::GarbageCollected` type names.
+ */
+ std::vector<std::string> type_names;
};
} // namespace cppgc