Index: src/heap/spaces.h |
diff --git a/src/heap/spaces.h b/src/heap/spaces.h |
index 5103cbf11ef5c5d27836200c0feac34bc7ecbe48..badc048029330fa15c6e882bb8984b9325e6163b 100644 |
--- a/src/heap/spaces.h |
+++ b/src/heap/spaces.h |
@@ -282,6 +282,12 @@ class MemoryChunk { |
// triggering on the same page. |
COMPACTION_WAS_ABORTED_FOR_TESTING = 1u << 16, |
+ // |CANNOT_BE_VERIFIED|: Used for moved pages to indicate that these pages |
+ // cannot be verified due to stale pointers in the body. Note that the |
+ // objects can still be iterated over, as the size can be correctly |
+ // obtained. |
+ CANNOT_BE_VERIFIED = 1u << 17, |
+ |
// |ANCHOR|: Flag is set if page is an anchor. |
ANCHOR = 1u << 17, |
}; |
@@ -1892,6 +1898,9 @@ class PagedSpace : public Space { |
public: |
typedef PageIterator iterator; |
+ // Reuse a page for allocation only if it has at least {kPageReuseThreshold} |
+ // memory available in its freelist. |
+ static const size_t kPageReuseThreshold = 4 * KB; |
static const intptr_t kCompactionMemoryWanted = 500 * KB; |
// Creates a space with an id. |
@@ -2104,6 +2113,10 @@ class PagedSpace : public Space { |
std::unique_ptr<ObjectIterator> GetObjectIterator() override; |
+ // Removes a page from the space. |
+ Page* RemovePageSafe(); |
+ void AddPage(Page* page); |
+ |
protected: |
// PagedSpaces that should be included in snapshots have different, i.e., |
// smaller, initial pages. |