Index: src/heap/heap.cc |
diff --git a/src/heap/heap.cc b/src/heap/heap.cc |
index 1a815eace4675735e285fafe7c47be26f24c5647..552269d2750db52402445f7eca0ddcd4008735cb 100644 |
--- a/src/heap/heap.cc |
+++ b/src/heap/heap.cc |
@@ -5462,16 +5462,19 @@ void Heap::PrintAlloctionsHash() { |
void Heap::NotifyDeserializationComplete() { |
- deserialization_complete_ = true; |
-#ifdef DEBUG |
- // All pages right after bootstrapping must be marked as never-evacuate. |
+ DCHECK_EQ(0, gc_count()); |
PagedSpaces spaces(this); |
for (PagedSpace* s = spaces.next(); s != NULL; s = spaces.next()) { |
+ if (isolate()->snapshot_available()) s->ShrinkImmortalImmovablePages(); |
+#ifdef DEBUG |
+ // All pages right after bootstrapping must be marked as never-evacuate. |
for (Page* p : *s) { |
CHECK(p->NeverEvacuate()); |
} |
- } |
#endif // DEBUG |
+ } |
+ |
+ deserialization_complete_ = true; |
} |
void Heap::SetEmbedderHeapTracer(EmbedderHeapTracer* tracer) { |