Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index 7ba625442369de1f1f0dd57ac262c03196c90bae..beba791f5cfbec8af27f5af19450a3b8df6975a5 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -444,6 +444,8 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; |
| V(JS_ARRAY_BUFFER_TYPE) \ |
| V(JS_TYPED_ARRAY_TYPE) \ |
| V(JS_DATA_VIEW_TYPE) \ |
| + V(JS_SHARED_ARRAY_BUFFER_TYPE) \ |
| + V(JS_SHARED_TYPED_ARRAY_TYPE) \ |
| V(JS_PROXY_TYPE) \ |
| V(JS_SET_TYPE) \ |
| V(JS_MAP_TYPE) \ |
| @@ -745,6 +747,8 @@ enum InstanceType { |
| JS_ARRAY_BUFFER_TYPE, |
| JS_TYPED_ARRAY_TYPE, |
| JS_DATA_VIEW_TYPE, |
| + JS_SHARED_ARRAY_BUFFER_TYPE, |
| + JS_SHARED_TYPED_ARRAY_TYPE, |
| JS_SET_TYPE, |
| JS_MAP_TYPE, |
| JS_SET_ITERATOR_TYPE, |
| @@ -10225,6 +10229,9 @@ class JSArrayBuffer: public JSObject { |
| inline bool is_neuterable(); |
| inline void set_is_neuterable(bool value); |
| + inline bool is_shared(); |
| + inline void set_is_shared(bool value); |
| + |
| // [weak_next]: linked list of array buffers. |
| DECL_ACCESSORS(weak_next, Object) |
| @@ -10255,6 +10262,7 @@ class JSArrayBuffer: public JSObject { |
| static const int kIsExternalBit = 0; |
| static const int kShouldBeFreed = 1; |
| static const int kIsNeuterableBit = 2; |
| + static const int kIsSharedBit = 3; |
|
Jarin
2015/04/16 14:55:28
Why do you need the bit? Cannot you get the shared
binji
2015/04/16 21:00:34
Do you mean from the ExternalArrayType? I currentl
Jarin
2015/04/17 07:49:27
I was just wondering why you could not define is_s
binji
2015/04/17 09:06:44
Thanks, that works. I knew I was missing something
|
| DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBuffer); |
| }; |
| @@ -10297,6 +10305,11 @@ class JSTypedArray: public JSArrayBufferView { |
| // [length]: length of typed array in elements. |
| DECL_ACCESSORS(length, Object) |
| + // TODO(binji): How to make this a flags array and access it via hydrogen? |
| + // See hydrogen.cc:HOptimizedGraphBuilder::GenerateTypedArrayInitialize |
| + // [is_shared] |
| + DECL_BOOLEAN_ACCESSORS(is_shared) |
| + |
| // Neutering. Only neuters this typed array. |
| void Neuter(); |
| @@ -10312,7 +10325,8 @@ class JSTypedArray: public JSArrayBufferView { |
| DECLARE_VERIFIER(JSTypedArray) |
| static const int kLengthOffset = kViewSize + kPointerSize; |
| - static const int kSize = kLengthOffset + kPointerSize; |
| + static const int kIsSharedOffset = kLengthOffset + kPointerSize; |
|
Jarin
2015/04/16 14:55:28
Again, why do you need the shared flag? Don't you
binji
2015/04/16 21:00:34
see above
|
| + static const int kSize = kIsSharedOffset + kPointerSize; |
| static const int kSizeWithInternalFields = |
| kSize + v8::ArrayBufferView::kInternalFieldCount * kPointerSize; |