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