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