diff options
Diffstat (limited to 'deps/v8/src/compiler/js-intrinsic-lowering.cc')
-rw-r--r-- | deps/v8/src/compiler/js-intrinsic-lowering.cc | 74 |
1 files changed, 58 insertions, 16 deletions
diff --git a/deps/v8/src/compiler/js-intrinsic-lowering.cc b/deps/v8/src/compiler/js-intrinsic-lowering.cc index b132cfa6e9..0ba3e7dfda 100644 --- a/deps/v8/src/compiler/js-intrinsic-lowering.cc +++ b/deps/v8/src/compiler/js-intrinsic-lowering.cc @@ -38,6 +38,20 @@ Reduction JSIntrinsicLowering::Reduce(Node* node) { return ReduceGeneratorClose(node); case Runtime::kInlineCreateJSGeneratorObject: return ReduceCreateJSGeneratorObject(node); + case Runtime::kInlineAsyncFunctionAwaitCaught: + return ReduceAsyncFunctionAwaitCaught(node); + case Runtime::kInlineAsyncFunctionAwaitUncaught: + return ReduceAsyncFunctionAwaitUncaught(node); + case Runtime::kInlineAsyncFunctionEnter: + return ReduceAsyncFunctionEnter(node); + case Runtime::kInlineAsyncFunctionReject: + return ReduceAsyncFunctionReject(node); + case Runtime::kInlineAsyncFunctionResolve: + return ReduceAsyncFunctionResolve(node); + case Runtime::kInlineAsyncGeneratorAwaitCaught: + return ReduceAsyncGeneratorAwaitCaught(node); + case Runtime::kInlineAsyncGeneratorAwaitUncaught: + return ReduceAsyncGeneratorAwaitUncaught(node); case Runtime::kInlineAsyncGeneratorReject: return ReduceAsyncGeneratorReject(node); case Runtime::kInlineAsyncGeneratorResolve: @@ -54,10 +68,6 @@ Reduction JSIntrinsicLowering::Reduce(Node* node) { return ReduceIsJSReceiver(node); case Runtime::kInlineIsSmi: return ReduceIsSmi(node); - case Runtime::kInlineRejectPromise: - return ReduceRejectPromise(node); - case Runtime::kInlineResolvePromise: - return ReduceResolvePromise(node); case Runtime::kInlineToLength: return ReduceToLength(node); case Runtime::kInlineToObject: @@ -127,6 +137,50 @@ Reduction JSIntrinsicLowering::ReduceGeneratorClose(Node* node) { return Change(node, op, generator, closed, effect, control); } +Reduction JSIntrinsicLowering::ReduceAsyncFunctionAwaitCaught(Node* node) { + return Change( + node, + Builtins::CallableFor(isolate(), Builtins::kAsyncFunctionAwaitCaught), 0); +} + +Reduction JSIntrinsicLowering::ReduceAsyncFunctionAwaitUncaught(Node* node) { + return Change( + node, + Builtins::CallableFor(isolate(), Builtins::kAsyncFunctionAwaitUncaught), + 0); +} + +Reduction JSIntrinsicLowering::ReduceAsyncFunctionEnter(Node* node) { + NodeProperties::ChangeOp(node, javascript()->AsyncFunctionEnter()); + return Changed(node); +} + +Reduction JSIntrinsicLowering::ReduceAsyncFunctionReject(Node* node) { + RelaxControls(node); + NodeProperties::ChangeOp(node, javascript()->AsyncFunctionReject()); + return Changed(node); +} + +Reduction JSIntrinsicLowering::ReduceAsyncFunctionResolve(Node* node) { + RelaxControls(node); + NodeProperties::ChangeOp(node, javascript()->AsyncFunctionResolve()); + return Changed(node); +} + +Reduction JSIntrinsicLowering::ReduceAsyncGeneratorAwaitCaught(Node* node) { + return Change( + node, + Builtins::CallableFor(isolate(), Builtins::kAsyncGeneratorAwaitCaught), + 0); +} + +Reduction JSIntrinsicLowering::ReduceAsyncGeneratorAwaitUncaught(Node* node) { + return Change( + node, + Builtins::CallableFor(isolate(), Builtins::kAsyncGeneratorAwaitUncaught), + 0); +} + Reduction JSIntrinsicLowering::ReduceAsyncGeneratorReject(Node* node) { return Change( node, Builtins::CallableFor(isolate(), Builtins::kAsyncGeneratorReject), @@ -206,18 +260,6 @@ Reduction JSIntrinsicLowering::ReduceIsSmi(Node* node) { return Change(node, simplified()->ObjectIsSmi()); } -Reduction JSIntrinsicLowering::ReduceRejectPromise(Node* node) { - RelaxControls(node); - NodeProperties::ChangeOp(node, javascript()->RejectPromise()); - return Changed(node); -} - -Reduction JSIntrinsicLowering::ReduceResolvePromise(Node* node) { - RelaxControls(node); - NodeProperties::ChangeOp(node, javascript()->ResolvePromise()); - return Changed(node); -} - Reduction JSIntrinsicLowering::Change(Node* node, const Operator* op) { // Replace all effect uses of {node} with the effect dependency. RelaxEffectsAndControls(node); |