| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index b505baa2108cd1fdc1d954d1f780e5ac6bf76865..8dcb4a307ba97f59e4f7ccc4b76725c79d07db6b 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -843,8 +843,24 @@ bool Object::IsBoolean() const {
|
|
|
|
|
| TYPE_CHECKER(JSArray, JS_ARRAY_TYPE)
|
| -TYPE_CHECKER(JSArrayBuffer, JS_ARRAY_BUFFER_TYPE)
|
| -TYPE_CHECKER(JSTypedArray, JS_TYPED_ARRAY_TYPE)
|
| +
|
| +
|
| +bool Object::IsJSArrayBuffer() const {
|
| + if (!IsHeapObject()) return false;
|
| +
|
| + InstanceType type = HeapObject::cast(this)->map()->instance_type();
|
| + return type == JS_ARRAY_BUFFER_TYPE || type == JS_SHARED_ARRAY_BUFFER_TYPE;
|
| +}
|
| +
|
| +
|
| +bool Object::IsJSTypedArray() const {
|
| + if (!IsHeapObject()) return false;
|
| +
|
| + InstanceType type = HeapObject::cast(this)->map()->instance_type();
|
| + return type == JS_TYPED_ARRAY_TYPE || type == JS_SHARED_TYPED_ARRAY_TYPE;
|
| +}
|
| +
|
| +
|
| TYPE_CHECKER(JSDataView, JS_DATA_VIEW_TYPE)
|
|
|
|
|
| @@ -1955,8 +1971,10 @@ int JSObject::GetHeaderSize() {
|
| case JS_ARRAY_TYPE:
|
| return JSArray::kSize;
|
| case JS_ARRAY_BUFFER_TYPE:
|
| + case JS_SHARED_ARRAY_BUFFER_TYPE:
|
| return JSArrayBuffer::kSize;
|
| case JS_TYPED_ARRAY_TYPE:
|
| + case JS_SHARED_TYPED_ARRAY_TYPE:
|
| return JSTypedArray::kSize;
|
| case JS_DATA_VIEW_TYPE:
|
| return JSDataView::kSize;
|
| @@ -6467,6 +6485,12 @@ void JSArrayBuffer::set_was_neutered(bool value) {
|
| }
|
|
|
|
|
| +SharedFlag JSArrayBuffer::is_shared() {
|
| + return map()->instance_type() == JS_SHARED_ARRAY_BUFFER_TYPE ? SHARED
|
| + : NOT_SHARED;
|
| +}
|
| +
|
| +
|
| ACCESSORS(JSArrayBuffer, weak_next, Object, kWeakNextOffset)
|
|
|
|
|
| @@ -6523,6 +6547,12 @@ ACCESSORS(JSTypedArray, raw_length, Object, kLengthOffset)
|
| #endif
|
|
|
|
|
| +SharedFlag JSTypedArray::is_shared() const {
|
| + return map()->instance_type() == JS_SHARED_TYPED_ARRAY_TYPE ? SHARED
|
| + : NOT_SHARED;
|
| +}
|
| +
|
| +
|
| ACCESSORS(JSRegExp, data, Object, kDataOffset)
|
|
|
|
|
|
|