| Index: src/heap/concurrent-marking.cc
|
| diff --git a/src/heap/concurrent-marking.cc b/src/heap/concurrent-marking.cc
|
| index 2e91ae368f958edec45f6577b2fdfa2fc5d0c1c8..85cee07943148993287d1535fc4b9ec113efa53a 100644
|
| --- a/src/heap/concurrent-marking.cc
|
| +++ b/src/heap/concurrent-marking.cc
|
| @@ -37,8 +37,10 @@ class ConcurrentMarkingVisitor final
|
|
|
| void VisitPointers(HeapObject* host, Object** start, Object** end) override {
|
| for (Object** p = start; p < end; p++) {
|
| - if (!(*p)->IsHeapObject()) continue;
|
| - MarkObject(HeapObject::cast(*p));
|
| + Object* object = reinterpret_cast<Object*>(
|
| + base::NoBarrier_Load(reinterpret_cast<const base::AtomicWord*>(p)));
|
| + if (!object->IsHeapObject()) continue;
|
| + MarkObject(HeapObject::cast(object));
|
| }
|
| }
|
|
|
|
|