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