Index: src/heap/spaces.h |
diff --git a/src/heap/spaces.h b/src/heap/spaces.h |
index 41e0727a3fbe9a634dff2bde325fd996b9951de9..a1b93c29d9c56adf15b78da9835580bcd282fdf1 100644 |
--- a/src/heap/spaces.h |
+++ b/src/heap/spaces.h |
@@ -935,6 +935,8 @@ class Space : public Malloced { |
} |
} |
+ virtual std::unique_ptr<ObjectIterator> GetObjectIterator() = 0; |
+ |
void AccountCommitted(intptr_t bytes) { |
DCHECK_GE(bytes, 0); |
committed_ += bytes; |
@@ -2146,6 +2148,8 @@ class PagedSpace : public Space { |
// using the high water mark. |
void ShrinkImmortalImmovablePages(); |
+ std::unique_ptr<ObjectIterator> GetObjectIterator() override; |
+ |
protected: |
// PagedSpaces that should be included in snapshots have different, i.e., |
// smaller, initial pages. |
@@ -2344,6 +2348,8 @@ class SemiSpace : public Space { |
iterator begin() { return iterator(anchor_.next_page()); } |
iterator end() { return iterator(anchor()); } |
+ std::unique_ptr<ObjectIterator> GetObjectIterator() override; |
Michael Lippautz
2016/09/27 13:53:05
While you are here, can you move this line and the
ulan
2016/09/27 14:10:53
Done.
|
+ |
private: |
void RewindPages(Page* start, int num_pages); |
@@ -2675,6 +2681,8 @@ class NewSpace : public Space { |
iterator begin() { return to_space_.begin(); } |
iterator end() { return to_space_.end(); } |
+ std::unique_ptr<ObjectIterator> GetObjectIterator() override; |
+ |
private: |
// Update allocation info to match the current to-space page. |
void UpdateAllocationInfo(); |
@@ -2888,6 +2896,8 @@ class LargeObjectSpace : public Space { |
iterator begin() { return iterator(first_page_); } |
iterator end() { return iterator(nullptr); } |
+ std::unique_ptr<ObjectIterator> GetObjectIterator() override; |
+ |
#ifdef VERIFY_HEAP |
virtual void Verify(); |
#endif |