Index: Source/platform/heap/Heap.h |
diff --git a/Source/platform/heap/Heap.h b/Source/platform/heap/Heap.h |
index ca2f6c48674398d5efb4b2ac8ddead590f5b7be1..0d12239dab255ca082af69b896fb1c3409e37bac 100644 |
--- a/Source/platform/heap/Heap.h |
+++ b/Source/platform/heap/Heap.h |
@@ -705,6 +705,10 @@ public: |
// All FreeListEntries in the given bucket, n, have size >= 2^n. |
static int bucketIndexForSize(size_t); |
+#if ENABLE(GC_PROFILING) |
+ void countBucketSizes(size_t sizes[], size_t totalSizes[], size_t& freeSize) const; |
+#endif |
+ |
private: |
int m_biggestFreeListIndex; |
@@ -772,6 +776,10 @@ public: |
void shrinkObject(HeapObjectHeader*, size_t); |
void decreasePromptlyFreedSize(size_t size) { m_promptlyFreedSize -= size; } |
+#if ENABLE(GC_PROFILING) |
+ void snapshotFreeList(TracedValue&); |
+#endif |
+ |
private: |
Address outOfLineAllocate(size_t allocationSize, size_t gcInfoIndex); |
Address currentAllocationPoint() const { return m_currentAllocationPoint; } |
@@ -814,6 +822,14 @@ private: |
// The size of promptly freed objects in the heap. |
size_t m_promptlyFreedSize; |
+ |
+#if ENABLE(GC_PROFILING) |
+ double m_totalAllocationSize; |
+ size_t m_allocationCount; |
+ size_t m_inlineAllocationCount; |
+ size_t m_allocationPointSizeSum; |
+ size_t m_setAllocationPointCount; |
+#endif |
}; |
// Mask an address down to the enclosing oilpan heap base page. All oilpan heap |