diff options
Diffstat (limited to 'deps/v8/src/objects')
-rw-r--r-- | deps/v8/src/objects/js-promise.h | 6 | ||||
-rw-r--r-- | deps/v8/src/objects/promise-inl.h | 6 | ||||
-rw-r--r-- | deps/v8/src/objects/promise.h | 26 |
3 files changed, 15 insertions, 23 deletions
diff --git a/deps/v8/src/objects/js-promise.h b/deps/v8/src/objects/js-promise.h index 20a0a90131..434bae8933 100644 --- a/deps/v8/src/objects/js-promise.h +++ b/deps/v8/src/objects/js-promise.h @@ -59,12 +59,6 @@ class JSPromise : public JSObject { V8_WARN_UNUSED_RESULT static MaybeHandle<Object> Resolve( Handle<JSPromise> promise, Handle<Object> resolution); - // This is a helper that extracts the JSPromise from the input - // {object}, which is used as a payload for PromiseReaction and - // PromiseReactionJobTask. - V8_WARN_UNUSED_RESULT static MaybeHandle<JSPromise> From( - Handle<HeapObject> object); - DECL_CAST(JSPromise) // Dispatched behavior. diff --git a/deps/v8/src/objects/promise-inl.h b/deps/v8/src/objects/promise-inl.h index 4283f0aa19..f9fb6110f3 100644 --- a/deps/v8/src/objects/promise-inl.h +++ b/deps/v8/src/objects/promise-inl.h @@ -23,7 +23,8 @@ CAST_ACCESSOR(PromiseResolveThenableJobTask) ACCESSORS(PromiseReaction, next, Object, kNextOffset) ACCESSORS(PromiseReaction, reject_handler, HeapObject, kRejectHandlerOffset) ACCESSORS(PromiseReaction, fulfill_handler, HeapObject, kFulfillHandlerOffset) -ACCESSORS(PromiseReaction, payload, HeapObject, kPayloadOffset) +ACCESSORS(PromiseReaction, promise_or_capability, HeapObject, + kPromiseOrCapabilityOffset) ACCESSORS(PromiseResolveThenableJobTask, context, Context, kContextOffset) ACCESSORS(PromiseResolveThenableJobTask, promise_to_resolve, JSPromise, @@ -34,7 +35,8 @@ ACCESSORS(PromiseResolveThenableJobTask, thenable, JSReceiver, kThenableOffset) ACCESSORS(PromiseReactionJobTask, context, Context, kContextOffset) ACCESSORS(PromiseReactionJobTask, argument, Object, kArgumentOffset); ACCESSORS(PromiseReactionJobTask, handler, HeapObject, kHandlerOffset); -ACCESSORS(PromiseReactionJobTask, payload, HeapObject, kPayloadOffset); +ACCESSORS(PromiseReactionJobTask, promise_or_capability, HeapObject, + kPromiseOrCapabilityOffset); ACCESSORS(PromiseCapability, promise, HeapObject, kPromiseOffset) ACCESSORS(PromiseCapability, resolve, Object, kResolveOffset) diff --git a/deps/v8/src/objects/promise.h b/deps/v8/src/objects/promise.h index 36ef4afe1d..5ff5dac6f3 100644 --- a/deps/v8/src/objects/promise.h +++ b/deps/v8/src/objects/promise.h @@ -26,16 +26,15 @@ class PromiseReactionJobTask : public Microtask { public: DECL_ACCESSORS(argument, Object) DECL_ACCESSORS(context, Context) - // [handler]: This is either a Code object, a Callable or Undefined. DECL_ACCESSORS(handler, HeapObject) - // [payload]: Usually a JSPromise or a PromiseCapability. - DECL_ACCESSORS(payload, HeapObject) + // [promise_or_capability]: Either a JSPromise or a PromiseCapability. + DECL_ACCESSORS(promise_or_capability, HeapObject) static const int kArgumentOffset = Microtask::kHeaderSize; static const int kContextOffset = kArgumentOffset + kPointerSize; static const int kHandlerOffset = kContextOffset + kPointerSize; - static const int kPayloadOffset = kHandlerOffset + kPointerSize; - static const int kSize = kPayloadOffset + kPointerSize; + static const int kPromiseOrCapabilityOffset = kHandlerOffset + kPointerSize; + static const int kSize = kPromiseOrCapabilityOffset + kPointerSize; // Dispatched behavior. DECL_CAST(PromiseReactionJobTask) @@ -121,10 +120,9 @@ class PromiseCapability : public Struct { // of microtasks. So the size of PromiseReaction and the size of the // PromiseReactionJobTask has to be same for this to work. // -// The PromiseReaction::payload field usually holds a JSPromise -// instance (in the fast case of a native promise) or a PromiseCapability -// in case of a custom promise. For await we store the JSGeneratorObject -// here and use custom Code handlers. +// The PromiseReaction::promise_or_capability field can either hold a JSPromise +// instance (in the fast case of a native promise) or a PromiseCapability in +// case of a Promise subclass. // // We need to keep the context in the PromiseReaction so that we can run // the default handlers (in case they are undefined) in the proper context. @@ -138,18 +136,16 @@ class PromiseReaction : public Struct { enum Type { kFulfill, kReject }; DECL_ACCESSORS(next, Object) - // [reject_handler]: This is either a Code object, a Callable or Undefined. DECL_ACCESSORS(reject_handler, HeapObject) - // [fulfill_handler]: This is either a Code object, a Callable or Undefined. DECL_ACCESSORS(fulfill_handler, HeapObject) - // [payload]: Usually a JSPromise or a PromiseCapability. - DECL_ACCESSORS(payload, HeapObject) + DECL_ACCESSORS(promise_or_capability, HeapObject) static const int kNextOffset = Struct::kHeaderSize; static const int kRejectHandlerOffset = kNextOffset + kPointerSize; static const int kFulfillHandlerOffset = kRejectHandlerOffset + kPointerSize; - static const int kPayloadOffset = kFulfillHandlerOffset + kPointerSize; - static const int kSize = kPayloadOffset + kPointerSize; + static const int kPromiseOrCapabilityOffset = + kFulfillHandlerOffset + kPointerSize; + static const int kSize = kPromiseOrCapabilityOffset + kPointerSize; // Dispatched behavior. DECL_CAST(PromiseReaction) |