Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(986)

Unified Diff: Source/platform/heap/Heap.h

Issue 903033003: Oilpan: Implement mark/sweep stats collection for free list profiler. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/platform/heap/Heap.cpp » ('j') | Source/platform/heap/Heap.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/heap/Heap.h
diff --git a/Source/platform/heap/Heap.h b/Source/platform/heap/Heap.h
index bde35390ff7a15c5e5db94870b96e5236ea7a6a3..e3289815642856b4b9a2cba5d92f03d2e2b0a163 100644
--- a/Source/platform/heap/Heap.h
+++ b/Source/platform/heap/Heap.h
@@ -472,9 +472,10 @@ public:
}
#if ENABLE(GC_PROFILING)
const GCInfo* findGCInfo(Address) override;
-#endif
-#if ENABLE(GC_PROFILING)
virtual void snapshot(TracedValue*, ThreadState::SnapshotInfo*);
+ void incrementMarkedObjectsAge();
+ void countMarkedObjects(ClassAgeCountsMap&);
+ void countObjectsToSweep(ClassAgeCountsMap&);
#endif
#if ENABLE(ASSERT) || ENABLE(GC_PROFILING)
// Returns true for the whole blinkPageSize page that the page is on, even
@@ -544,10 +545,15 @@ public:
memset(payload(), orphanedZapValue, payloadSize());
BaseHeapPage::markOrphaned();
}
+
#if ENABLE(GC_PROFILING)
virtual const GCInfo* findGCInfo(Address) override;
virtual void snapshot(TracedValue*, ThreadState::SnapshotInfo*) override;
+ void incrementMarkedObjectsAge();
+ void countMarkedObjects(ClassAgeCountsMap&);
+ void countObjectsToSweep(ClassAgeCountsMap&);
#endif
+
#if ENABLE(ASSERT) || ENABLE(GC_PROFILING)
// Returns true for any address that is on one of the pages that this
// large object uses. That ensures that we can use a negative result to
@@ -709,6 +715,8 @@ public:
struct PerBucketFreeListStats {
size_t entryCount;
size_t freeSize;
+
+ PerBucketFreeListStats() : entryCount(0), freeSize(0) { }
};
void getFreeSizeStats(PerBucketFreeListStats bucketStats[], size_t& totalSize) const;
@@ -744,6 +752,7 @@ public:
#endif
#if ENABLE(GC_PROFILING)
void snapshot(TracedValue*, ThreadState::SnapshotInfo*);
+ void incrementMarkedObjectsAge();
#endif
void clearFreeLists();
@@ -783,6 +792,9 @@ public:
#if ENABLE(GC_PROFILING)
void snapshotFreeList(TracedValue&);
+
+ void countMarkedObjects(ClassAgeCountsMap&) const;
+ void countObjectsToSweep(ClassAgeCountsMap&) const;
#endif
private:
« no previous file with comments | « no previous file | Source/platform/heap/Heap.cpp » ('j') | Source/platform/heap/Heap.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698