| Index: runtime/vm/ast_transformer.cc
|
| diff --git a/runtime/vm/ast_transformer.cc b/runtime/vm/ast_transformer.cc
|
| index fa1028d7e629ad3567833bcb143ac3ff29359ff5..30dd4305395c0ef2c2b923837e0a99dcb578e6f9 100644
|
| --- a/runtime/vm/ast_transformer.cc
|
| +++ b/runtime/vm/ast_transformer.cc
|
| @@ -129,7 +129,10 @@ void AwaitTransformer::VisitAwaitNode(AwaitNode* node) {
|
| // :await_temp_var_X = <expr>;
|
| // AwaitMarker(kNewContinuationState);
|
| // :result_param = _awaitHelper(
|
| - // :await_temp_var_X, :async_then_callback, :async_catch_error_callback);
|
| + // :await_temp_var_X,
|
| + // :async_then_callback,
|
| + // :async_catch_error_callback,
|
| + // :async_op);
|
| // return; // (return_type() == kContinuationTarget)
|
| //
|
| // :saved_try_ctx_var = :await_saved_try_ctx_var_y;
|
| @@ -158,7 +161,10 @@ void AwaitTransformer::VisitAwaitNode(AwaitNode* node) {
|
| preamble_->Add(await_marker);
|
|
|
| // :result_param = _awaitHelper(
|
| - // :await_temp, :async_then_callback, :async_catch_error_callback)
|
| + // :await_temp,
|
| + // :async_then_callback,
|
| + // :async_catch_error_callback,
|
| + // :async_op)
|
| const Library& async_lib = Library::Handle(Library::AsyncLibrary());
|
| const Function& async_await_helper = Function::ZoneHandle(
|
| Z, async_lib.LookupFunctionAllowPrivate(Symbols::AsyncAwaitHelper()));
|
| @@ -170,6 +176,7 @@ void AwaitTransformer::VisitAwaitNode(AwaitNode* node) {
|
| new (Z) LoadLocalNode(token_pos, async_then_callback));
|
| async_await_helper_args->Add(
|
| new (Z) LoadLocalNode(token_pos, async_catch_error_callback));
|
| + async_await_helper_args->Add(new (Z) LoadLocalNode(token_pos, async_op));
|
| StaticCallNode* await_helper_call = new (Z) StaticCallNode(
|
| node->token_pos(), async_await_helper, async_await_helper_args);
|
|
|
|
|