Chromium Code Reviews| Index: src/objects-inl.h |
| diff --git a/src/objects-inl.h b/src/objects-inl.h |
| index 9ddaa81af44ba1df971ae679a90d5c3a50d60f89..481a6f199d006ff79801b16e3237d62f213d76ff 100644 |
| --- a/src/objects-inl.h |
| +++ b/src/objects-inl.h |
| @@ -6586,6 +6586,32 @@ void JSArrayBuffer::set_is_shared(bool value) { |
| } |
| +// static |
| +template <typename StaticVisitor> |
| +void JSArrayBuffer::BodyDescriptor::IterateBody(Heap* heap, HeapObject* obj) { |
| + StaticVisitor::VisitPointers( |
| + heap, obj, |
| + HeapObject::RawField(obj, JSArrayBuffer::BodyDescriptor::kStartOffset), |
|
jochen (gone - plz use gerrit)
2015/09/14 10:04:36
I wouldn't use constants here, just visit the leng
fedor.indutny
2015/09/14 17:08:16
Acknowledged.
|
| + HeapObject::RawField(obj, JSArrayBuffer::kBackingStoreOffset)); |
| + StaticVisitor::VisitPointers( |
| + heap, obj, HeapObject::RawField( |
| + obj, JSArrayBuffer::kBackingStoreOffset + kPointerSize), |
| + HeapObject::RawField(obj, JSArrayBuffer::kSizeWithInternalFields)); |
| +} |
| + |
| + |
| +void JSArrayBuffer::BodyDescriptor::IterateBody(HeapObject* obj, |
| + ObjectVisitor* v) { |
| + v->VisitPointers( |
| + HeapObject::RawField(obj, JSArrayBuffer::BodyDescriptor::kStartOffset), |
| + HeapObject::RawField(obj, JSArrayBuffer::kBackingStoreOffset)); |
| + v->VisitPointers( |
| + HeapObject::RawField(obj, |
| + JSArrayBuffer::kBackingStoreOffset + kPointerSize), |
| + HeapObject::RawField(obj, JSArrayBuffer::kSizeWithInternalFields)); |
| +} |
| + |
| + |
| Object* JSArrayBufferView::byte_offset() const { |
| if (WasNeutered()) return Smi::FromInt(0); |
| return Object::cast(READ_FIELD(this, kByteOffsetOffset)); |