| Index: src/builtins/builtins-promise.h
|
| diff --git a/src/builtins/builtins-promise.h b/src/builtins/builtins-promise.h
|
| index 9f7f456473546e08c9fbb68c74782d1189a35d56..df011822ff222ce3aecdf1d670c8b486881b88c7 100644
|
| --- a/src/builtins/builtins-promise.h
|
| +++ b/src/builtins/builtins-promise.h
|
| @@ -36,6 +36,18 @@ class PromiseBuiltinsAssembler : public CodeStubAssembler {
|
| kCapabilitiesContextLength,
|
| };
|
|
|
| + // This is used by the PromiseThenFinally and PromiseCatchFinally
|
| + // builtins to store the onFinally in the onFinallySlot.
|
| + //
|
| + // This is also used by the PromiseValueThunkFinally to store the
|
| + // value in the onFinallySlot and PromiseThrowerFinally to store the
|
| + // reason in the onFinallySlot.
|
| + enum PromiseFinallyContextSlot {
|
| + kOnFinallySlot = Context::MIN_CONTEXT_SLOTS,
|
| +
|
| + kOnFinallyContextLength,
|
| + };
|
| +
|
| explicit PromiseBuiltinsAssembler(CodeAssemblerState* state)
|
| : CodeStubAssembler(state) {}
|
| // These allocate and initialize a promise with pending state and
|
| @@ -115,6 +127,15 @@ class PromiseBuiltinsAssembler : public CodeStubAssembler {
|
| bool debug_event);
|
| void InternalPromiseReject(Node* context, Node* promise, Node* value,
|
| Node* debug_event);
|
| + std::pair<Node*, Node*> CreatePromiseFinallyFunctions(Node* on_finally,
|
| + Node* native_context);
|
| + Node* CreatePromiseFinallyContext(Node* on_finally, Node* native_context);
|
| +
|
| + Node* CreateValueThunkFunction(Node* value, Node* native_context);
|
| + Node* CreateValueThunkFunctionContext(Node* value, Node* native_context);
|
| +
|
| + Node* CreateThrowerFunctionContext(Node* reason, Node* native_context);
|
| + Node* CreateThrowerFunction(Node* reason, Node* native_context);
|
|
|
| private:
|
| Node* AllocateJSPromise(Node* context);
|
|
|