| Index: src/heap/objects-visiting-inl.h
|
| diff --git a/src/heap/objects-visiting-inl.h b/src/heap/objects-visiting-inl.h
|
| index 39803b1a2c98db9db392a6a0f360e3ba250c2dd0..f601b1506c9711eec921a1c0cdbc8450371e82ec 100644
|
| --- a/src/heap/objects-visiting-inl.h
|
| +++ b/src/heap/objects-visiting-inl.h
|
| @@ -80,12 +80,9 @@ int StaticNewSpaceVisitor<StaticVisitor>::VisitJSArrayBuffer(
|
| Map* map, HeapObject* object) {
|
| Heap* heap = map->GetHeap();
|
|
|
| - VisitPointers(heap, HeapObject::RawField(
|
| - object, JSArrayBuffer::BodyDescriptor::kStartOffset),
|
| - HeapObject::RawField(object, JSArrayBuffer::kWeakNextOffset));
|
| VisitPointers(
|
| - heap, HeapObject::RawField(object,
|
| - JSArrayBuffer::kWeakNextOffset + kPointerSize),
|
| + heap,
|
| + HeapObject::RawField(object, JSArrayBuffer::BodyDescriptor::kStartOffset),
|
| HeapObject::RawField(object, JSArrayBuffer::kSizeWithInternalFields));
|
| return JSArrayBuffer::kSizeWithInternalFields;
|
| }
|
| @@ -533,11 +530,11 @@ void StaticMarkingVisitor<StaticVisitor>::VisitJSArrayBuffer(
|
| StaticVisitor::VisitPointers(
|
| heap,
|
| HeapObject::RawField(object, JSArrayBuffer::BodyDescriptor::kStartOffset),
|
| - HeapObject::RawField(object, JSArrayBuffer::kWeakNextOffset));
|
| - StaticVisitor::VisitPointers(
|
| - heap, HeapObject::RawField(object,
|
| - JSArrayBuffer::kWeakNextOffset + kPointerSize),
|
| HeapObject::RawField(object, JSArrayBuffer::kSizeWithInternalFields));
|
| + if (!JSArrayBuffer::cast(object)->is_external()) {
|
| + heap->AddDiscoveredArrayBuffer(
|
| + JSArrayBuffer::cast(object)->backing_store());
|
| + }
|
| }
|
|
|
|
|
|
|