Index: Source/platform/heap/ThreadState.h |
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h |
index 45b45bf5fe06307a0662e8690afac5d131055572..ac88a64f235f9fb8977451fcff5299a541f80f83 100644 |
--- a/Source/platform/heap/ThreadState.h |
+++ b/Source/platform/heap/ThreadState.h |
@@ -489,6 +489,20 @@ public: |
// Visit all persistents allocated on this thread. |
void visitPersistents(Visitor*); |
+ struct GCSnapshotInfo { |
+ // Map from base-classes to a snapshot class-ids (used as index below). |
+ using ClassTagMap = HashMap<const GCInfo*, size_t>; |
+ ClassTagMap classTags; |
+ |
+ // Map from class-id (index) to count/size. |
+ Vector<int> liveCount; |
+ Vector<int> deadCount; |
+ Vector<size_t> liveSize; |
+ Vector<size_t> deadSize; |
+ |
+ size_t getClassTag(const GCInfo*); |
+ }; |
+ |
#if ENABLE(GC_PROFILING) |
const GCInfo* findGCInfo(Address); |
static const GCInfo* findGCInfoFromAllThreads(Address); |