Index: src/heap/incremental-marking.cc |
diff --git a/src/heap/incremental-marking.cc b/src/heap/incremental-marking.cc |
index 5aa464f34eee9e7916e0b637687ccd483af6ff0f..3dace163183954c02abeffee65bb2e7ec269c72c 100644 |
--- a/src/heap/incremental-marking.cc |
+++ b/src/heap/incremental-marking.cc |
@@ -652,6 +652,7 @@ void IncrementalMarking::ProcessWeakCells() { |
DCHECK(!finalize_marking_completed_); |
DCHECK(IsMarking()); |
+ Object* the_hole_value = heap()->the_hole_value(); |
Object* weak_cell_obj = heap()->encountered_weak_cells(); |
Object* weak_cell_head = Smi::FromInt(0); |
WeakCell* prev_weak_cell_obj = NULL; |
@@ -671,7 +672,7 @@ void IncrementalMarking::ProcessWeakCells() { |
prev_weak_cell_obj->set_next(weak_cell->next()); |
} |
weak_cell_obj = weak_cell->next(); |
- weak_cell->clear_next(heap()); |
+ weak_cell->clear_next(the_hole_value); |
} else { |
if (weak_cell_head == Smi::FromInt(0)) { |
weak_cell_head = weak_cell; |