Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index 6e696e71be29e055620758ae799a0ab12aa61077..43a6758e7fca6856f21afe6fc77783ad2f0f9b8b 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -540,6 +540,13 @@ void Heap::EnsureFromSpaceIsCommitted() { |
// Committing memory to from space failed. |
// Try shrinking and try again. |
+ PagedSpaces spaces; |
+ for (PagedSpace* space = spaces.next(); |
+ space != NULL; |
+ space = spaces.next()) { |
+ space->RelinkPageListInChunkOrder(true); |
+ } |
+ |
Shrink(); |
if (new_space_.CommitFromSpaceIfNeeded()) return; |