Index: src/heap/mark-compact.cc |
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
index 9b986ce2f3b5d167ad80719937461a0dc4bdc0de..83804a998eeba06c64cd40f0be19e13c6ebb6f8e 100644 |
--- a/src/heap/mark-compact.cc |
+++ b/src/heap/mark-compact.cc |
@@ -3291,7 +3291,8 @@ void MarkCompactCollector::EvacuatePagesInParallel() { |
live_bytes += page->LiveBytes(); |
if (!reduce_memory && !page->NeverEvacuate() && |
(page->LiveBytes() > Evacuator::PageEvacuationThreshold()) && |
- !page->Contains(age_mark)) { |
+ !page->Contains(age_mark) && |
+ heap()->CanExpandOldGeneration(page->LiveBytes())) { |
if (page->IsFlagSet(MemoryChunk::NEW_SPACE_BELOW_AGE_MARK)) { |
EvacuateNewSpacePageVisitor<NEW_TO_OLD>::Move(page); |
} else { |