| 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();
|
|
|