Index: Source/platform/heap/ThreadState.h |
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h |
index 1f962b7df637954dde98307d775c2e98c3b961e5..2344ced678d4dec6feab755e2c3b26002c4f877d 100644 |
--- a/Source/platform/heap/ThreadState.h |
+++ b/Source/platform/heap/ThreadState.h |
@@ -490,8 +490,20 @@ public: |
void visitPersistents(Visitor*); |
struct GCSnapshotInfo { |
+ // Map from gcInfoIndex to a snapshot class-ids (used as index below). |
haraken
2015/06/27 07:27:40
I'm wondering why you simply can't use gcInfoIndex
|
+ using ClassTagMap = HashMap<size_t, 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 currentHeapFreeSize; |
size_t currentHeapFreeCount; |
+ |
+ size_t getClassTag(const size_t GCInfoIndex); |
}; |
#if ENABLE(GC_PROFILING) |
@@ -649,7 +661,8 @@ public: |
private: |
enum SnapshotType { |
HeapSnapshot, |
- FreelistSnapshot |
+ FreelistSnapshot, |
+ HeapSnapshotWithClasses |
}; |
ThreadState(); |