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