Index: src/heap.cc |
diff --git a/src/heap.cc b/src/heap.cc |
index b672bbffbb811966d292580abca673257041dd9b..3679886bc8d9d4b936d3baec91cd16f7d093ee26 100644 |
--- a/src/heap.cc |
+++ b/src/heap.cc |
@@ -4321,14 +4321,15 @@ STRUCT_LIST(MAKE_CASE) |
bool Heap::IsHeapIterable() { |
return (!old_pointer_space()->was_swept_conservatively() && |
- !old_data_space()->was_swept_conservatively()); |
+ !old_data_space()->was_swept_conservatively() && |
+ new_space()->bottom() == new_space()->top()); |
} |
-void Heap::EnsureHeapIsIterable() { |
+void Heap::MakeHeapIterable() { |
ASSERT(AllowHeapAllocation::IsAllowed()); |
if (!IsHeapIterable()) { |
- CollectAllGarbage(kMakeHeapIterableMask, "Heap::EnsureHeapIsIterable"); |
+ CollectAllGarbage(kMakeHeapIterableMask, "Heap::MakeHeapIterable"); |
} |
ASSERT(IsHeapIterable()); |
} |
@@ -5732,7 +5733,9 @@ class UnreachableObjectsFilter : public HeapObjectsFilter { |
HeapIterator::HeapIterator(Heap* heap) |
- : heap_(heap), |
+ : make_heap_iterable_helper_(heap), |
+ no_heap_allocation_(), |
+ heap_(heap), |
filtering_(HeapIterator::kNoFiltering), |
filter_(NULL) { |
Init(); |
@@ -5741,7 +5744,9 @@ HeapIterator::HeapIterator(Heap* heap) |
HeapIterator::HeapIterator(Heap* heap, |
HeapIterator::HeapObjectsFiltering filtering) |
- : heap_(heap), |
+ : make_heap_iterable_helper_(heap), |
+ no_heap_allocation_(), |
+ heap_(heap), |
filtering_(filtering), |
filter_(NULL) { |
Init(); |