Chromium Code Reviews| Index: src/objects.h |
| diff --git a/src/objects.h b/src/objects.h |
| index 7cbc0f4593dacb1e5fc450ca50c0174619b48dc4..304c25fb88c18249b0ec7b03c1f62042c619ab78 100644 |
| --- a/src/objects.h |
| +++ b/src/objects.h |
| @@ -422,6 +422,7 @@ const int kStubMinorKeyBits = kSmiValueSize - kStubMajorKeyBits - 1; |
| V(JS_MAP_ITERATOR_TYPE) \ |
| V(JS_WEAK_MAP_TYPE) \ |
| V(JS_WEAK_SET_TYPE) \ |
| + V(JS_PROMISE_CAPABILITY_TYPE) \ |
| V(JS_PROMISE_TYPE) \ |
| V(JS_REGEXP_TYPE) \ |
| V(JS_ERROR_TYPE) \ |
| @@ -767,6 +768,7 @@ enum InstanceType { |
| JS_MAP_ITERATOR_TYPE, |
| JS_WEAK_MAP_TYPE, |
| JS_WEAK_SET_TYPE, |
| + JS_PROMISE_CAPABILITY_TYPE, |
| JS_PROMISE_TYPE, |
| JS_REGEXP_TYPE, |
| JS_ERROR_TYPE, |
| @@ -1088,6 +1090,7 @@ template <class C> inline bool Is(Object* obj); |
| V(JSDataView) \ |
| V(JSProxy) \ |
| V(JSError) \ |
| + V(JSPromiseCapability) \ |
| V(JSPromise) \ |
| V(JSStringIterator) \ |
| V(JSSet) \ |
| @@ -8620,6 +8623,33 @@ class JSMessageObject: public JSObject { |
| kSize> BodyDescriptor; |
| }; |
| +class JSPromise; |
| +class JSPromiseCapability : public JSObject { |
|
gsathya
2016/12/29 21:48:47
can you please add a TODO to make this into a stru
caitp
2017/01/02 15:51:12
Done.
|
| + public: |
| + DECLARE_CAST(JSPromiseCapability) |
| + |
| + DECLARE_VERIFIER(JSPromiseCapability) |
| + |
| + DECL_ACCESSORS(promise, Object) |
| + DECL_ACCESSORS(resolve, Object) |
| + DECL_ACCESSORS(reject, Object) |
| + |
| + static const int kPromiseOffset = JSObject::kHeaderSize; |
| + static const int kResolveOffset = kPromiseOffset + kPointerSize; |
| + static const int kRejectOffset = kResolveOffset + kPointerSize; |
| + static const int kSize = kRejectOffset + kPointerSize; |
| + |
| + enum InObjectPropertyIndex { |
| + kPromiseIndex, |
| + kResolveIndex, |
| + kRejectIndex, |
| + kInObjectPropertyCount // Dummy. |
| + }; |
| + |
| + private: |
| + DISALLOW_IMPLICIT_CONSTRUCTORS(JSPromiseCapability); |
| +}; |
| + |
| class JSPromise : public JSObject { |
| public: |
| DECL_INT_ACCESSORS(status) |