Index: src/heap/objects-visiting-inl.h |
diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h |
index fa90be5c40b1351959cc392604419655f063759d..1d5b39dd4e839d452bbc05133fbeedcf254a0903 100644 |
--- a/src/heap/objects-visiting-inl.h |
+++ b/src/heap/objects-visiting-inl.h |
@@ -329,11 +329,10 @@ void StaticMarkingVisitor<StaticVisitor>::VisitWeakCell(Map* map, |
HeapObject* object) { |
Heap* heap = map->GetHeap(); |
WeakCell* weak_cell = reinterpret_cast<WeakCell*>(object); |
- Object* the_hole = heap->the_hole_value(); |
// Enqueue weak cell in linked list of encountered weak collections. |
// We can ignore weak cells with cleared values because they will always |
// contain smi zero. |
- if (weak_cell->next() == the_hole && !weak_cell->cleared()) { |
+ if (weak_cell->next_cleared() && !weak_cell->cleared()) { |
weak_cell->set_next(heap->encountered_weak_cells(), |
UPDATE_WEAK_WRITE_BARRIER); |
heap->set_encountered_weak_cells(weak_cell); |