Index: src/heap/spaces.h |
diff --git a/src/heap/spaces.h b/src/heap/spaces.h |
index e233b328511601a46e9a6815763997175cdd9aa1..b7aad77a8ec57de202d9f55e57748b9f85a3740d 100644 |
--- a/src/heap/spaces.h |
+++ b/src/heap/spaces.h |
@@ -2119,12 +2119,17 @@ |
// e.g., removes its bump pointer area and resets statistics. |
void MergeCompactionSpace(CompactionSpace* other); |
+ void DivideUponCompactionSpaces(CompactionSpaceCollection** other, int num, |
+ intptr_t limit = kCompactionMemoryWanted); |
+ |
// Refills the free list from the corresponding free list filled by the |
// sweeper. |
virtual void RefillFreeList(); |
protected: |
void AddMemory(Address start, intptr_t size); |
+ |
+ FreeSpace* TryRemoveMemory(intptr_t size_in_bytes); |
void MoveOverFreeMemory(PagedSpace* other); |
@@ -2888,6 +2893,12 @@ |
CompactionSpace(Heap* heap, AllocationSpace id, Executability executable) |
: PagedSpace(heap, id, executable) {} |
+ // Adds external memory starting at {start} of {size_in_bytes} to the space. |
+ void AddExternalMemory(Address start, int size_in_bytes) { |
+ IncreaseCapacity(size_in_bytes); |
+ Free(start, size_in_bytes); |
+ } |
+ |
bool is_local() override { return true; } |
void RefillFreeList() override; |