[vm] Runtime type check in await

'await e' should check that e is a Future<flatten(S)>, where S is a
static type of e before awaiting e. If e is not a Future<flatten(S)>,
then 'await e' should await Future.value(e) instead of e. So futures
of incompatible type are not awaited and soundness is not violated.

TEST=tests/language/async/await_type_check_test.dart
(Based on https://dart-review.git.corp.google.com/c/sdk/+/267422.)

Fixes https://github.com/dart-lang/sdk/issues/50529
Part of https://github.com/dart-lang/sdk/issues/49396

Change-Id: Ia418db1be6736710abc9be87d95584c50cbc677e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273002
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
diff --git a/runtime/docs/async.md b/runtime/docs/async.md
index 34de12a..6edbbc9 100644
--- a/runtime/docs/async.md
+++ b/runtime/docs/async.md
@@ -255,6 +255,20 @@
 callbacks to that Future. Otherwise it schedules a micro-task to continue execution of
 the suspended function later.
 
+### AwaitWithTypeCheck stub
+
+AwaitWithTypeCheck is a variant of Await stub which additionally passes type argument `T`
+and calls `_SuspendState._awaitWithTypeCheck` in order to test if the value has a
+correct `Future<T>` type before awaiting.
+
+This runtime check is needed to maintain soundness in case value is a Future of an
+incompatible type, for example:
+
+```
+final FutureOr<Object> f = Future<Object?>.value(null);
+Object x = await f; // x == f, not null.
+```
+
 ### ReturnAsync stub
 
 ReturnAsync stub = Return stub which calls `_SuspendState._returnAsync`.
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index f18e824..c339fbe 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -7678,12 +7678,24 @@
                              locs(), deopt_id(), env());
 }
 
+Definition* SuspendInstr::Canonicalize(FlowGraph* flow_graph) {
+  if (stub_id() == StubId::kAwaitWithTypeCheck &&
+      !operand()->Type()->CanBeFuture()) {
+    type_args()->RemoveFromUseList();
+    stub_id_ = StubId::kAwait;
+  }
+  return this;
+}
+
 LocationSummary* SuspendInstr::MakeLocationSummary(Zone* zone, bool opt) const {
-  const intptr_t kNumInputs = 1;
+  const intptr_t kNumInputs = has_type_args() ? 2 : 1;
   const intptr_t kNumTemps = 0;
   LocationSummary* locs = new (zone)
       LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
   locs->set_in(0, Location::RegisterLocation(SuspendStubABI::kArgumentReg));
+  if (has_type_args()) {
+    locs->set_in(1, Location::RegisterLocation(SuspendStubABI::kTypeArgsReg));
+  }
   locs->set_out(0, Location::RegisterLocation(CallingConventions::kReturnReg));
   return locs;
 }
@@ -7698,6 +7710,9 @@
     case StubId::kAwait:
       stub = object_store->await_stub();
       break;
+    case StubId::kAwaitWithTypeCheck:
+      stub = object_store->await_with_type_check_stub();
+      break;
     case StubId::kYieldAsyncStar:
       stub = object_store->yield_async_star_stub();
       break;
diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h
index 2a964aa..f7eb34e 100644
--- a/runtime/vm/compiler/backend/il.h
+++ b/runtime/vm/compiler/backend/il.h
@@ -10623,10 +10623,11 @@
 };
 
 // Suspends execution using the suspend stub specified using [StubId].
-class SuspendInstr : public TemplateDefinition<1, Throws> {
+class SuspendInstr : public TemplateDefinition<2, Throws> {
  public:
   enum class StubId {
     kAwait,
+    kAwaitWithTypeCheck,
     kYieldAsyncStar,
     kSuspendSyncStarAtStart,
     kSuspendSyncStarAtYield,
@@ -10635,6 +10636,7 @@
   SuspendInstr(const InstructionSource& source,
                StubId stub_id,
                Value* operand,
+               Value* type_args,
                intptr_t deopt_id,
                intptr_t resume_deopt_id)
       : TemplateDefinition(source, deopt_id),
@@ -10642,9 +10644,22 @@
         resume_deopt_id_(resume_deopt_id),
         token_pos_(source.token_pos) {
     SetInputAt(0, operand);
+    if (has_type_args()) {
+      SetInputAt(1, type_args);
+    } else {
+      ASSERT(type_args == nullptr);
+    }
   }
 
+  bool has_type_args() const { return stub_id_ == StubId::kAwaitWithTypeCheck; }
+  virtual intptr_t InputCount() const { return has_type_args() ? 2 : 1; }
+
   Value* operand() const { return inputs_[0]; }
+  Value* type_args() const {
+    ASSERT(has_type_args());
+    return inputs_[1];
+  }
+
   StubId stub_id() const { return stub_id_; }
   intptr_t resume_deopt_id() const { return resume_deopt_id_; }
   virtual TokenPosition token_pos() const { return token_pos_; }
@@ -10659,8 +10674,10 @@
   DECLARE_INSTRUCTION(Suspend);
   PRINT_OPERANDS_TO_SUPPORT
 
+  virtual Definition* Canonicalize(FlowGraph* flow_graph);
+
 #define FIELD_LIST(F)                                                          \
-  F(const StubId, stub_id_)                                                    \
+  F(StubId, stub_id_)                                                          \
   F(const intptr_t, resume_deopt_id_)                                          \
   F(const TokenPosition, token_pos_)
 
diff --git a/runtime/vm/compiler/backend/il_printer.cc b/runtime/vm/compiler/backend/il_printer.cc
index e62264a..b29a69a 100644
--- a/runtime/vm/compiler/backend/il_printer.cc
+++ b/runtime/vm/compiler/backend/il_printer.cc
@@ -1385,6 +1385,9 @@
     case StubId::kAwait:
       name = "Await";
       break;
+    case StubId::kAwaitWithTypeCheck:
+      name = "AwaitWithTypeCheck";
+      break;
     case StubId::kYieldAsyncStar:
       name = "YieldAsyncStar";
       break;
@@ -1396,7 +1399,7 @@
       break;
   }
   f->Printf("%s(", name);
-  operand()->PrintTo(f);
+  Definition::PrintOperandsTo(f);
   f->AddString(")");
 }
 
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index a47a650..c016e2a 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -4481,15 +4481,28 @@
 
   instructions += BuildExpression();  // read operand.
 
+  SuspendInstr::StubId stub_id = SuspendInstr::StubId::kAwait;
   if (ReadTag() == kSomething) {
-    // TODO(50529): Use runtime check type when present.
-    SkipDartType();  // read runtime check type.
+    const AbstractType& type = T.BuildType();  // read runtime check type.
+    if (!type.IsType() ||
+        !Class::Handle(Z, type.type_class()).IsFutureClass()) {
+      FATAL("Unexpected type for runtime check in await: %s", type.ToCString());
+    }
+    ASSERT(type.IsFinalized());
+    const auto& type_args = TypeArguments::ZoneHandle(Z, type.arguments());
+    if (!type_args.IsNull()) {
+      const auto& type_arg = AbstractType::Handle(Z, type_args.TypeAt(0));
+      if (!type_arg.IsTopTypeForSubtyping()) {
+        instructions += TranslateInstantiatedTypeArguments(type_args);
+        stub_id = SuspendInstr::StubId::kAwaitWithTypeCheck;
+      }
+    }
   }
 
   if (NeedsDebugStepCheck(parsed_function()->function(), pos)) {
     instructions += DebugStepCheck(pos);
   }
-  instructions += B->Suspend(pos, SuspendInstr::StubId::kAwait);
+  instructions += B->Suspend(pos, stub_id);
   return instructions;
 }
 
diff --git a/runtime/vm/compiler/frontend/kernel_fingerprints.cc b/runtime/vm/compiler/frontend/kernel_fingerprints.cc
index a3ea9b8..f1b7bfb 100644
--- a/runtime/vm/compiler/frontend/kernel_fingerprints.cc
+++ b/runtime/vm/compiler/frontend/kernel_fingerprints.cc
@@ -673,7 +673,7 @@
       ReadPosition();                    // read position.
       CalculateExpressionFingerprint();  // read operand.
       if (ReadTag() == kSomething) {
-        SkipDartType();  // read runtime check type.
+        CalculateDartTypeFingerprint();  // read runtime check type.
       }
       return;
     case kConstStaticInvocation:
diff --git a/runtime/vm/compiler/frontend/kernel_to_il.cc b/runtime/vm/compiler/frontend/kernel_to_il.cc
index 6304dea..f155353 100644
--- a/runtime/vm/compiler/frontend/kernel_to_il.cc
+++ b/runtime/vm/compiler/frontend/kernel_to_il.cc
@@ -4323,9 +4323,12 @@
 
 Fragment FlowGraphBuilder::Suspend(TokenPosition position,
                                    SuspendInstr::StubId stub_id) {
+  Value* type_args =
+      (stub_id == SuspendInstr::StubId::kAwaitWithTypeCheck) ? Pop() : nullptr;
+  Value* operand = Pop();
   SuspendInstr* instr =
-      new (Z) SuspendInstr(InstructionSource(position), stub_id, Pop(),
-                           GetNextDeoptId(), GetNextDeoptId());
+      new (Z) SuspendInstr(InstructionSource(position), stub_id, operand,
+                           type_args, GetNextDeoptId(), GetNextDeoptId());
   Push(instr);
   return Fragment(instr);
 }
diff --git a/runtime/vm/compiler/frontend/scope_builder.cc b/runtime/vm/compiler/frontend/scope_builder.cc
index 523d86b..3c612d0 100644
--- a/runtime/vm/compiler/frontend/scope_builder.cc
+++ b/runtime/vm/compiler/frontend/scope_builder.cc
@@ -983,7 +983,7 @@
       helper_.ReadPosition();  // read position.
       VisitExpression();       // read operand.
       if (helper_.ReadTag() == kSomething) {
-        helper_.SkipDartType();  // read runtime check type.
+        VisitDartType();  // read runtime check type.
       }
       return;
     case kConstStaticInvocation:
diff --git a/runtime/vm/compiler/runtime_api.h b/runtime/vm/compiler/runtime_api.h
index a1e5229..f3a6f54 100644
--- a/runtime/vm/compiler/runtime_api.h
+++ b/runtime/vm/compiler/runtime_api.h
@@ -1274,6 +1274,7 @@
 
   static word suspend_state_init_async_entry_point_offset();
   static word suspend_state_await_entry_point_offset();
+  static word suspend_state_await_with_type_check_entry_point_offset();
   static word suspend_state_return_async_entry_point_offset();
   static word suspend_state_return_async_not_future_entry_point_offset();
 
@@ -1312,6 +1313,7 @@
   static word type_type_offset();
 
   static word suspend_state_await_offset();
+  static word suspend_state_await_with_type_check_offset();
   static word suspend_state_handle_exception_offset();
   static word suspend_state_init_async_offset();
   static word suspend_state_init_async_star_offset();
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index 9a2059d..cbaa6ce 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -236,23 +236,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -288,9 +290,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    876;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     880;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    884;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -313,7 +315,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 916;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -330,7 +332,7 @@
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 920;
+    Thread_double_truncate_round_supported_offset = 924;
 static constexpr dart::compiler::target::word
     Thread_service_extension_stream_offset = 956;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
@@ -348,7 +350,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    896;
+    900;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -370,11 +372,11 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    884;
+    888;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    912;
+    916;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset = 960;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
@@ -429,11 +431,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 888;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 892;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 892;
+    Thread_saved_shadow_call_stack_offset = 896;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    900;
+    904;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -456,23 +458,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 844;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 844;
+    Thread_suspend_state_return_async_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 848;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 852;
+    Thread_suspend_state_init_async_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 856;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 860;
+    Thread_suspend_state_return_async_star_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 864;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 868;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 868;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 872;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 872;
+    Thread_suspend_state_handle_exception_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -485,9 +489,9 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 904;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 908;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 908;
+    Thread_callback_stack_return_offset = 912;
 static constexpr dart::compiler::target::word Thread_next_task_id_offset = 928;
 static constexpr dart::compiler::target::word Thread_random_offset = 936;
 static constexpr dart::compiler::target::word
@@ -900,23 +904,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -953,9 +959,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1760;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1768;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1776;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -979,7 +985,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -992,13 +998,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1896;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1848;
+    Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1896;
+    Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -1014,7 +1020,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1800;
+    1808;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -1036,14 +1042,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1776;
+    1784;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -1096,11 +1102,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1784;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1792;
+    Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1808;
+    1816;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -1123,23 +1129,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1696;
+    Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1744;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -1153,14 +1161,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1824;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1856;
-static constexpr dart::compiler::target::word Thread_random_offset = 1864;
+    Thread_callback_stack_return_offset = 1832;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1864;
+static constexpr dart::compiler::target::word Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1872;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1880;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -1568,23 +1576,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -1620,9 +1630,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    864;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     868;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    872;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -1645,7 +1655,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 904;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 908;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -1658,13 +1668,13 @@
     Thread_call_to_runtime_entry_point_offset = 308;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 144;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 936;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 944;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 908;
+    Thread_double_truncate_round_supported_offset = 912;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 940;
+    Thread_service_extension_stream_offset = 948;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     348;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 260;
@@ -1680,7 +1690,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    884;
+    888;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -1702,13 +1712,13 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    872;
+    876;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    900;
+    904;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 944;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 952;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
@@ -1761,11 +1771,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 876;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 880;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 880;
+    Thread_saved_shadow_call_stack_offset = 884;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    888;
+    892;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -1788,23 +1798,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 828;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 832;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 832;
+    Thread_suspend_state_return_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 836;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 840;
+    Thread_suspend_state_init_async_star_entry_point_offset = 844;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 844;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 848;
+    Thread_suspend_state_return_async_star_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 852;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 856;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 860;
+    Thread_suspend_state_handle_exception_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -1817,14 +1829,14 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 892;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 912;
-static constexpr dart::compiler::target::word Thread_random_offset = 920;
+    Thread_callback_stack_return_offset = 900;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 920;
+static constexpr dart::compiler::target::word Thread_random_offset = 928;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 360;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 928;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 936;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -2232,23 +2244,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -2285,9 +2299,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1832;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1840;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1848;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -2311,7 +2325,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -2324,13 +2338,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1960;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1968;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1920;
+    Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1968;
+    Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -2346,7 +2360,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -2368,14 +2382,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1848;
+    1856;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -2428,11 +2442,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1856;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1864;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1864;
+    Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1880;
+    1888;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -2455,23 +2469,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1768;
+    Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1816;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -2485,14 +2501,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1928;
-static constexpr dart::compiler::target::word Thread_random_offset = 1936;
+    Thread_callback_stack_return_offset = 1904;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1936;
+static constexpr dart::compiler::target::word Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1944;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1952;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -2901,23 +2917,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -2954,9 +2972,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1760;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1768;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1776;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -2980,7 +2998,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -2993,13 +3011,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1896;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1848;
+    Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1896;
+    Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -3015,7 +3033,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1800;
+    1808;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -3037,14 +3055,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1776;
+    1784;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -3097,11 +3115,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1784;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1792;
+    Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1808;
+    1816;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -3124,23 +3142,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1696;
+    Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1744;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -3154,14 +3174,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1824;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1856;
-static constexpr dart::compiler::target::word Thread_random_offset = 1864;
+    Thread_callback_stack_return_offset = 1832;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1864;
+static constexpr dart::compiler::target::word Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1872;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1880;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -3569,23 +3589,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -3622,9 +3644,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1832;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1840;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1848;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -3648,7 +3670,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -3661,13 +3683,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1960;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1968;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1920;
+    Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1968;
+    Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -3683,7 +3705,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -3705,14 +3727,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1848;
+    1856;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -3765,11 +3787,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1856;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1864;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1864;
+    Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1880;
+    1888;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -3792,23 +3814,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1768;
+    Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1816;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -3822,14 +3846,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1928;
-static constexpr dart::compiler::target::word Thread_random_offset = 1936;
+    Thread_callback_stack_return_offset = 1904;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1936;
+static constexpr dart::compiler::target::word Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1944;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1952;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -4238,23 +4262,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -4290,9 +4316,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    916;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     920;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    924;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -4315,7 +4341,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 956;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 960;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -4332,7 +4358,7 @@
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 960;
+    Thread_double_truncate_round_supported_offset = 964;
 static constexpr dart::compiler::target::word
     Thread_service_extension_stream_offset = 996;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
@@ -4350,7 +4376,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    936;
+    940;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -4372,11 +4398,11 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    924;
+    928;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    952;
+    956;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
     1000;
@@ -4432,11 +4458,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 928;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 932;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 932;
+    Thread_saved_shadow_call_stack_offset = 936;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    940;
+    944;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -4459,23 +4485,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 880;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 884;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 884;
+    Thread_suspend_state_return_async_entry_point_offset = 888;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 888;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 892;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 892;
+    Thread_suspend_state_init_async_star_entry_point_offset = 896;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 896;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 900;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 900;
+    Thread_suspend_state_return_async_star_entry_point_offset = 904;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 904;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 908;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 908;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 912;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 912;
+    Thread_suspend_state_handle_exception_entry_point_offset = 916;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -4488,9 +4516,9 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 944;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 948;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 948;
+    Thread_callback_stack_return_offset = 952;
 static constexpr dart::compiler::target::word Thread_next_task_id_offset = 968;
 static constexpr dart::compiler::target::word Thread_random_offset = 976;
 static constexpr dart::compiler::target::word
@@ -4905,23 +4933,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -4958,9 +4988,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1816;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1824;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1832;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -4984,7 +5014,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1896;
+    1904;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -4997,13 +5027,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1944;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1952;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1904;
+    Thread_double_truncate_round_supported_offset = 1912;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1952;
+    Thread_service_extension_stream_offset = 1960;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -5019,7 +5049,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -5041,14 +5071,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -5101,11 +5131,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1840;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1848;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1848;
+    Thread_saved_shadow_call_stack_offset = 1856;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1864;
+    1872;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -5128,23 +5158,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1752;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1752;
+    Thread_suspend_state_return_async_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1760;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1768;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1768;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1776;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1792;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1800;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1808;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -5158,14 +5190,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1880;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1912;
-static constexpr dart::compiler::target::word Thread_random_offset = 1920;
+    Thread_callback_stack_return_offset = 1888;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1920;
+static constexpr dart::compiler::target::word Thread_random_offset = 1928;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1928;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1936;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -5568,23 +5600,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -5620,9 +5654,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    876;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     880;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    884;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -5645,7 +5679,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 916;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -5662,7 +5696,7 @@
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 920;
+    Thread_double_truncate_round_supported_offset = 924;
 static constexpr dart::compiler::target::word
     Thread_service_extension_stream_offset = 956;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
@@ -5680,7 +5714,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    896;
+    900;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -5702,11 +5736,11 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    884;
+    888;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    912;
+    916;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset = 960;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
@@ -5761,11 +5795,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 888;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 892;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 892;
+    Thread_saved_shadow_call_stack_offset = 896;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    900;
+    904;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -5788,23 +5822,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 844;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 844;
+    Thread_suspend_state_return_async_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 848;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 852;
+    Thread_suspend_state_init_async_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 856;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 860;
+    Thread_suspend_state_return_async_star_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 864;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 868;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 868;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 872;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 872;
+    Thread_suspend_state_handle_exception_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -5817,9 +5853,9 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 904;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 908;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 908;
+    Thread_callback_stack_return_offset = 912;
 static constexpr dart::compiler::target::word Thread_next_task_id_offset = 928;
 static constexpr dart::compiler::target::word Thread_random_offset = 936;
 static constexpr dart::compiler::target::word
@@ -6224,23 +6260,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -6277,9 +6315,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1760;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1768;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1776;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -6303,7 +6341,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -6316,13 +6354,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1896;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1848;
+    Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1896;
+    Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -6338,7 +6376,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1800;
+    1808;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -6360,14 +6398,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1776;
+    1784;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -6420,11 +6458,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1784;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1792;
+    Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1808;
+    1816;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -6447,23 +6485,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1696;
+    Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1744;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -6477,14 +6517,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1824;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1856;
-static constexpr dart::compiler::target::word Thread_random_offset = 1864;
+    Thread_callback_stack_return_offset = 1832;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1864;
+static constexpr dart::compiler::target::word Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1872;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1880;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -6884,23 +6924,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -6936,9 +6978,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    864;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     868;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    872;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -6961,7 +7003,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 904;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 908;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -6974,13 +7016,13 @@
     Thread_call_to_runtime_entry_point_offset = 308;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 144;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 936;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 944;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 908;
+    Thread_double_truncate_round_supported_offset = 912;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 940;
+    Thread_service_extension_stream_offset = 948;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     348;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 260;
@@ -6996,7 +7038,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    884;
+    888;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -7018,13 +7060,13 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    872;
+    876;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    900;
+    904;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 944;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 952;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     68;
 static constexpr dart::compiler::target::word
@@ -7077,11 +7119,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 876;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 880;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 880;
+    Thread_saved_shadow_call_stack_offset = 884;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    888;
+    892;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -7104,23 +7146,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 828;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 832;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 832;
+    Thread_suspend_state_return_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 836;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 840;
+    Thread_suspend_state_init_async_star_entry_point_offset = 844;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 844;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 848;
+    Thread_suspend_state_return_async_star_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 852;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 856;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 860;
+    Thread_suspend_state_handle_exception_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -7133,14 +7177,14 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 892;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 912;
-static constexpr dart::compiler::target::word Thread_random_offset = 920;
+    Thread_callback_stack_return_offset = 900;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 920;
+static constexpr dart::compiler::target::word Thread_random_offset = 928;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 360;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 928;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 936;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -7540,23 +7584,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -7593,9 +7639,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1832;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1840;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1848;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -7619,7 +7665,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -7632,13 +7678,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1960;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1968;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1920;
+    Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1968;
+    Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -7654,7 +7700,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -7676,14 +7722,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1848;
+    1856;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -7736,11 +7782,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1856;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1864;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1864;
+    Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1880;
+    1888;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -7763,23 +7809,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1768;
+    Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1816;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -7793,14 +7841,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1928;
-static constexpr dart::compiler::target::word Thread_random_offset = 1936;
+    Thread_callback_stack_return_offset = 1904;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1936;
+static constexpr dart::compiler::target::word Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1944;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1952;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -8201,23 +8249,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -8254,9 +8304,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1760;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1768;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1776;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -8280,7 +8330,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -8293,13 +8343,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1896;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1848;
+    Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1896;
+    Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -8315,7 +8365,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1800;
+    1808;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -8337,14 +8387,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1776;
+    1784;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -8397,11 +8447,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1784;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1792;
+    Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1808;
+    1816;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -8424,23 +8474,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1696;
+    Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1744;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -8454,14 +8506,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1824;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1856;
-static constexpr dart::compiler::target::word Thread_random_offset = 1864;
+    Thread_callback_stack_return_offset = 1832;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1864;
+static constexpr dart::compiler::target::word Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1872;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1880;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -8861,23 +8913,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -8914,9 +8968,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1832;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1840;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1848;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -8940,7 +8994,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -8953,13 +9007,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1960;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1968;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1920;
+    Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1968;
+    Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -8975,7 +9029,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -8997,14 +9051,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1848;
+    1856;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -9057,11 +9111,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1856;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1864;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1864;
+    Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1880;
+    1888;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -9084,23 +9138,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1768;
+    Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1816;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1824;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -9114,14 +9170,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1896;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1928;
-static constexpr dart::compiler::target::word Thread_random_offset = 1936;
+    Thread_callback_stack_return_offset = 1904;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1936;
+static constexpr dart::compiler::target::word Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1944;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1952;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -9522,23 +9578,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 556;
+    ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 536;
+    ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 548;
+    ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 528;
+    ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 544;
+    ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 540;
+    ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -9574,9 +9632,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    916;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     920;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    924;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -9599,7 +9657,7 @@
     Thread_allocate_object_slow_entry_point_offset = 328;
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 212;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 956;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 960;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -9616,7 +9674,7 @@
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 960;
+    Thread_double_truncate_round_supported_offset = 964;
 static constexpr dart::compiler::target::word
     Thread_service_extension_stream_offset = 996;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
@@ -9634,7 +9692,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    936;
+    940;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -9656,11 +9714,11 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    924;
+    928;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    952;
+    956;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
     1000;
@@ -9716,11 +9774,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 928;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 932;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 932;
+    Thread_saved_shadow_call_stack_offset = 936;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    940;
+    944;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -9743,23 +9801,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 880;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 884;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 884;
+    Thread_suspend_state_return_async_entry_point_offset = 888;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 888;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 892;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 892;
+    Thread_suspend_state_init_async_star_entry_point_offset = 896;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 896;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 900;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 900;
+    Thread_suspend_state_return_async_star_entry_point_offset = 904;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 904;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 908;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 908;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 912;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 912;
+    Thread_suspend_state_handle_exception_entry_point_offset = 916;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -9772,9 +9832,9 @@
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
     32;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 36;
-static constexpr dart::compiler::target::word Thread_callback_code_offset = 944;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 948;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 948;
+    Thread_callback_stack_return_offset = 952;
 static constexpr dart::compiler::target::word Thread_next_task_id_offset = 968;
 static constexpr dart::compiler::target::word Thread_random_offset = 976;
 static constexpr dart::compiler::target::word
@@ -10181,23 +10241,25 @@
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_handle_exception_offset = 1112;
+    ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_async_star_offset = 1072;
+    ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_offset = 1056;
+    ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_return_async_star_offset = 1088;
+    ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
 static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
 static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -10234,9 +10296,9 @@
 static constexpr dart::compiler::target::word
     Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1816;
-static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
     1824;
+static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
+    1832;
 static constexpr dart::compiler::target::word
     Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -10260,7 +10322,7 @@
 static constexpr dart::compiler::target::word
     Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1896;
+    1904;
 static constexpr dart::compiler::target::word
     Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -10273,13 +10335,13 @@
     Thread_call_to_runtime_entry_point_offset = 600;
 static constexpr dart::compiler::target::word
     Thread_call_to_runtime_stub_offset = 272;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1944;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1952;
 static constexpr dart::compiler::target::word
     Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    Thread_double_truncate_round_supported_offset = 1904;
+    Thread_double_truncate_round_supported_offset = 1912;
 static constexpr dart::compiler::target::word
-    Thread_service_extension_stream_offset = 1952;
+    Thread_service_extension_stream_offset = 1960;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 504;
@@ -10295,7 +10357,7 @@
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
     Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -10317,14 +10379,14 @@
 static constexpr dart::compiler::target::word
     Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1832;
+    1840;
 static constexpr dart::compiler::target::word
     Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word Thread_isolate_group_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
     136;
 static constexpr dart::compiler::target::word
@@ -10377,11 +10439,11 @@
 static constexpr dart::compiler::target::word Thread_object_null_offset = 208;
 static constexpr dart::compiler::target::word
     Thread_predefined_symbols_address_offset = 744;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1840;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1848;
 static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1848;
+    Thread_saved_shadow_call_stack_offset = 1856;
 static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1864;
+    1872;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -10404,23 +10466,25 @@
 static constexpr dart::compiler::target::word
     Thread_suspend_state_await_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
+    Thread_suspend_state_await_with_type_check_entry_point_offset = 1752;
+static constexpr dart::compiler::target::word
     Thread_suspend_state_init_async_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_entry_point_offset = 1752;
+    Thread_suspend_state_return_async_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_not_future_entry_point_offset = 1760;
+    Thread_suspend_state_return_async_not_future_entry_point_offset = 1768;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_async_star_entry_point_offset = 1768;
+    Thread_suspend_state_init_async_star_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_yield_async_star_entry_point_offset = 1776;
+    Thread_suspend_state_yield_async_star_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_return_async_star_entry_point_offset = 1784;
+    Thread_suspend_state_return_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_init_sync_star_entry_point_offset = 1792;
+    Thread_suspend_state_init_sync_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1800;
+    Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    Thread_suspend_state_handle_exception_entry_point_offset = 1808;
+    Thread_suspend_state_handle_exception_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -10434,14 +10498,14 @@
     64;
 static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
-    Thread_callback_stack_return_offset = 1880;
-static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1912;
-static constexpr dart::compiler::target::word Thread_random_offset = 1920;
+    Thread_callback_stack_return_offset = 1888;
+static constexpr dart::compiler::target::word Thread_next_task_id_offset = 1920;
+static constexpr dart::compiler::target::word Thread_random_offset = 1928;
 static constexpr dart::compiler::target::word
     Thread_jump_to_frame_entry_point_offset = 704;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1928;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1936;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
     0;
 static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -10875,23 +10939,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 556;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 536;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 548;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 528;
+    AOT_ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 544;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 540;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     12;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -10932,9 +10998,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 876;
+    AOT_Thread_active_exception_offset = 880;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 880;
+    AOT_Thread_active_stacktrace_offset = 884;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -10958,7 +11024,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 212;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    916;
+    920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -10977,7 +11043,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 920;
+    AOT_Thread_double_truncate_round_supported_offset = 924;
 static constexpr dart::compiler::target::word
     AOT_Thread_service_extension_stream_offset = 956;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
@@ -10996,7 +11062,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 896;
+    AOT_Thread_execution_state_offset = 900;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -11018,11 +11084,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 884;
+    AOT_Thread_global_object_pool_offset = 888;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 912;
+    AOT_Thread_exit_through_ffi_offset = 916;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
     960;
@@ -11081,11 +11147,11 @@
     112;
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 888;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 892;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 892;
+    AOT_Thread_saved_shadow_call_stack_offset = 896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 900;
+    AOT_Thread_safepoint_state_offset = 904;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -11109,24 +11175,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 844;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 844;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 848;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 852;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 856;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 860;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 864;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 868;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        868;
+        872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 872;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -11141,9 +11209,9 @@
     AOT_Thread_write_barrier_mask_offset = 32;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    904;
+    908;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 908;
+    AOT_Thread_callback_stack_return_offset = 912;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
     928;
 static constexpr dart::compiler::target::word AOT_Thread_random_offset = 936;
@@ -11613,23 +11681,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -11671,9 +11741,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1760;
+    AOT_Thread_active_exception_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1768;
+    AOT_Thread_active_stacktrace_offset = 1776;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -11697,7 +11767,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -11712,13 +11782,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1848;
+    AOT_Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1896;
+    AOT_Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -11735,7 +11805,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1800;
+    AOT_Thread_execution_state_offset = 1808;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -11757,14 +11827,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1776;
+    AOT_Thread_global_object_pool_offset = 1784;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1832;
+    AOT_Thread_exit_through_ffi_offset = 1840;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -11821,11 +11891,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1784;
+    1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1792;
+    AOT_Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1808;
+    AOT_Thread_safepoint_state_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -11849,24 +11919,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1696;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1744;
+        1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -11881,16 +11953,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1824;
+    AOT_Thread_callback_stack_return_offset = 1832;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1856;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1864;
+    1864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -12358,23 +12430,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -12416,9 +12490,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1832;
+    AOT_Thread_active_exception_offset = 1840;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1840;
+    AOT_Thread_active_stacktrace_offset = 1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -12442,7 +12516,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -12457,13 +12531,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1920;
+    AOT_Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1968;
+    AOT_Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -12480,7 +12554,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1872;
+    AOT_Thread_execution_state_offset = 1880;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -12502,14 +12576,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1848;
+    AOT_Thread_global_object_pool_offset = 1856;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1904;
+    AOT_Thread_exit_through_ffi_offset = 1912;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -12566,11 +12640,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1864;
+    AOT_Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1880;
+    AOT_Thread_safepoint_state_offset = 1888;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -12594,24 +12668,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1816;
+        1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -12626,16 +12702,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1896;
+    AOT_Thread_callback_stack_return_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1928;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1936;
+    1936;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -13101,23 +13177,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -13159,9 +13237,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1760;
+    AOT_Thread_active_exception_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1768;
+    AOT_Thread_active_stacktrace_offset = 1776;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -13185,7 +13263,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -13200,13 +13278,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1848;
+    AOT_Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1896;
+    AOT_Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -13223,7 +13301,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1800;
+    AOT_Thread_execution_state_offset = 1808;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -13245,14 +13323,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1776;
+    AOT_Thread_global_object_pool_offset = 1784;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1832;
+    AOT_Thread_exit_through_ffi_offset = 1840;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -13309,11 +13387,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1784;
+    1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1792;
+    AOT_Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1808;
+    AOT_Thread_safepoint_state_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -13337,24 +13415,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1696;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1744;
+        1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -13369,16 +13449,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1824;
+    AOT_Thread_callback_stack_return_offset = 1832;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1856;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1864;
+    1864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -13843,23 +13923,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -13901,9 +13983,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1832;
+    AOT_Thread_active_exception_offset = 1840;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1840;
+    AOT_Thread_active_stacktrace_offset = 1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -13927,7 +14009,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -13942,13 +14024,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1920;
+    AOT_Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1968;
+    AOT_Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -13965,7 +14047,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1872;
+    AOT_Thread_execution_state_offset = 1880;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -13987,14 +14069,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1848;
+    AOT_Thread_global_object_pool_offset = 1856;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1904;
+    AOT_Thread_exit_through_ffi_offset = 1912;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -14051,11 +14133,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1864;
+    AOT_Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1880;
+    AOT_Thread_safepoint_state_offset = 1888;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -14079,24 +14161,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1816;
+        1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -14111,16 +14195,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1896;
+    AOT_Thread_callback_stack_return_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1928;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1936;
+    1936;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -14585,23 +14669,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 556;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 536;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 548;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 528;
+    AOT_ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 544;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 540;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     12;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -14642,9 +14728,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 916;
+    AOT_Thread_active_exception_offset = 920;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 920;
+    AOT_Thread_active_stacktrace_offset = 924;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -14668,7 +14754,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 212;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    956;
+    960;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -14687,7 +14773,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 960;
+    AOT_Thread_double_truncate_round_supported_offset = 964;
 static constexpr dart::compiler::target::word
     AOT_Thread_service_extension_stream_offset = 996;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
@@ -14706,7 +14792,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 936;
+    AOT_Thread_execution_state_offset = 940;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -14728,11 +14814,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 924;
+    AOT_Thread_global_object_pool_offset = 928;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 952;
+    AOT_Thread_exit_through_ffi_offset = 956;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
     1000;
@@ -14791,11 +14877,11 @@
     112;
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 928;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 932;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 932;
+    AOT_Thread_saved_shadow_call_stack_offset = 936;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 940;
+    AOT_Thread_safepoint_state_offset = 944;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -14819,24 +14905,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 880;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 884;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 884;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 888;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 888;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 892;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 892;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 896;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 900;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 900;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 904;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 904;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 908;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        908;
+        912;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 912;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 916;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -14851,9 +14939,9 @@
     AOT_Thread_write_barrier_mask_offset = 32;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    944;
+    948;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 948;
+    AOT_Thread_callback_stack_return_offset = 952;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
     968;
 static constexpr dart::compiler::target::word AOT_Thread_random_offset = 976;
@@ -15325,23 +15413,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -15383,9 +15473,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1816;
+    AOT_Thread_active_exception_offset = 1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1824;
+    AOT_Thread_active_stacktrace_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -15409,7 +15499,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1896;
+    1904;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -15424,13 +15514,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1904;
+    AOT_Thread_double_truncate_round_supported_offset = 1912;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1952;
+    AOT_Thread_service_extension_stream_offset = 1960;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -15447,7 +15537,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1856;
+    AOT_Thread_execution_state_offset = 1864;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -15469,14 +15559,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1832;
+    AOT_Thread_global_object_pool_offset = 1840;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1888;
+    AOT_Thread_exit_through_ffi_offset = 1896;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -15533,11 +15623,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1848;
+    AOT_Thread_saved_shadow_call_stack_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1864;
+    AOT_Thread_safepoint_state_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -15561,24 +15651,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1752;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1760;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1800;
+        1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -15593,16 +15685,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1880;
+    AOT_Thread_callback_stack_return_offset = 1888;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1912;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1920;
+    1920;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1928;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1928;
+    1936;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -16060,23 +16152,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 556;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 536;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 548;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 528;
+    AOT_ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 544;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 540;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     12;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -16117,9 +16211,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 876;
+    AOT_Thread_active_exception_offset = 880;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 880;
+    AOT_Thread_active_stacktrace_offset = 884;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -16143,7 +16237,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 212;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    916;
+    920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -16162,7 +16256,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 920;
+    AOT_Thread_double_truncate_round_supported_offset = 924;
 static constexpr dart::compiler::target::word
     AOT_Thread_service_extension_stream_offset = 956;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
@@ -16181,7 +16275,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 896;
+    AOT_Thread_execution_state_offset = 900;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -16203,11 +16297,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 884;
+    AOT_Thread_global_object_pool_offset = 888;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 912;
+    AOT_Thread_exit_through_ffi_offset = 916;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
     960;
@@ -16266,11 +16360,11 @@
     112;
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 888;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 892;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 892;
+    AOT_Thread_saved_shadow_call_stack_offset = 896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 900;
+    AOT_Thread_safepoint_state_offset = 904;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -16294,24 +16388,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 840;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 844;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 836;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 844;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 848;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 848;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 852;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 852;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 856;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 860;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 860;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 864;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 868;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        868;
+        872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 872;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -16326,9 +16422,9 @@
     AOT_Thread_write_barrier_mask_offset = 32;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    904;
+    908;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 908;
+    AOT_Thread_callback_stack_return_offset = 912;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
     928;
 static constexpr dart::compiler::target::word AOT_Thread_random_offset = 936;
@@ -16789,23 +16885,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -16847,9 +16945,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1760;
+    AOT_Thread_active_exception_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1768;
+    AOT_Thread_active_stacktrace_offset = 1776;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -16873,7 +16971,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -16888,13 +16986,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1848;
+    AOT_Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1896;
+    AOT_Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -16911,7 +17009,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1800;
+    AOT_Thread_execution_state_offset = 1808;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -16933,14 +17031,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1776;
+    AOT_Thread_global_object_pool_offset = 1784;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1832;
+    AOT_Thread_exit_through_ffi_offset = 1840;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -16997,11 +17095,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1784;
+    1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1792;
+    AOT_Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1808;
+    AOT_Thread_safepoint_state_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -17025,24 +17123,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1696;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1744;
+        1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -17057,16 +17157,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1824;
+    AOT_Thread_callback_stack_return_offset = 1832;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1856;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1864;
+    1864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -17525,23 +17625,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -17583,9 +17685,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1832;
+    AOT_Thread_active_exception_offset = 1840;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1840;
+    AOT_Thread_active_stacktrace_offset = 1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -17609,7 +17711,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -17624,13 +17726,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1920;
+    AOT_Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1968;
+    AOT_Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -17647,7 +17749,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1872;
+    AOT_Thread_execution_state_offset = 1880;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -17669,14 +17771,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1848;
+    AOT_Thread_global_object_pool_offset = 1856;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1904;
+    AOT_Thread_exit_through_ffi_offset = 1912;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -17733,11 +17835,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1864;
+    AOT_Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1880;
+    AOT_Thread_safepoint_state_offset = 1888;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -17761,24 +17863,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1816;
+        1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -17793,16 +17897,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1896;
+    AOT_Thread_callback_stack_return_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1928;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1936;
+    1936;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -18259,23 +18363,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -18317,9 +18423,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1760;
+    AOT_Thread_active_exception_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1768;
+    AOT_Thread_active_stacktrace_offset = 1776;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -18343,7 +18449,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -18358,13 +18464,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1848;
+    AOT_Thread_double_truncate_round_supported_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1896;
+    AOT_Thread_service_extension_stream_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -18381,7 +18487,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1800;
+    AOT_Thread_execution_state_offset = 1808;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -18403,14 +18509,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1776;
+    AOT_Thread_global_object_pool_offset = 1784;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1832;
+    AOT_Thread_exit_through_ffi_offset = 1840;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1904;
+    1912;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -18467,11 +18573,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1784;
+    1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1792;
+    AOT_Thread_saved_shadow_call_stack_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1808;
+    AOT_Thread_safepoint_state_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -18495,24 +18601,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1688;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1696;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1696;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1704;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1712;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1720;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1728;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1728;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1736;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1744;
+        1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -18527,16 +18635,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1816;
+    1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1824;
+    AOT_Thread_callback_stack_return_offset = 1832;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1856;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1864;
+    1864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -18992,23 +19100,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -19050,9 +19160,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1832;
+    AOT_Thread_active_exception_offset = 1840;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1840;
+    AOT_Thread_active_stacktrace_offset = 1848;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -19076,7 +19186,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1912;
+    1920;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -19091,13 +19201,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1920;
+    AOT_Thread_double_truncate_round_supported_offset = 1928;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1968;
+    AOT_Thread_service_extension_stream_offset = 1976;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -19114,7 +19224,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1872;
+    AOT_Thread_execution_state_offset = 1880;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -19136,14 +19246,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1848;
+    AOT_Thread_global_object_pool_offset = 1856;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1904;
+    AOT_Thread_exit_through_ffi_offset = 1912;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1976;
+    1984;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -19200,11 +19310,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1856;
+    1864;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1864;
+    AOT_Thread_saved_shadow_call_stack_offset = 1872;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1880;
+    AOT_Thread_safepoint_state_offset = 1888;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -19228,24 +19338,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1768;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1752;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1800;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1816;
+        1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1824;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -19260,16 +19372,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1888;
+    1896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1896;
+    AOT_Thread_callback_stack_return_offset = 1904;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1928;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1936;
+    1936;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1944;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
@@ -19725,23 +19837,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 524;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 556;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 528;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 560;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 536;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 540;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 548;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 528;
+    AOT_ObjectStore_suspend_state_return_async_offset = 532;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 532;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 544;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 548;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 552;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 556;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 540;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 544;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     12;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -19782,9 +19896,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 412;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 916;
+    AOT_Thread_active_exception_offset = 920;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 920;
+    AOT_Thread_active_stacktrace_offset = 924;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 304;
 static constexpr dart::compiler::target::word
@@ -19808,7 +19922,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 212;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    956;
+    960;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 216;
 static constexpr dart::compiler::target::word
@@ -19827,7 +19941,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 960;
+    AOT_Thread_double_truncate_round_supported_offset = 964;
 static constexpr dart::compiler::target::word
     AOT_Thread_service_extension_stream_offset = 996;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
@@ -19846,7 +19960,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 284;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 936;
+    AOT_Thread_execution_state_offset = 940;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 288;
 static constexpr dart::compiler::target::word
@@ -19868,11 +19982,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 924;
+    AOT_Thread_global_object_pool_offset = 928;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 140;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 952;
+    AOT_Thread_exit_through_ffi_offset = 956;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
     1000;
@@ -19931,11 +20045,11 @@
     112;
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 380;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 928;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 932;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 932;
+    AOT_Thread_saved_shadow_call_stack_offset = 936;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 940;
+    AOT_Thread_safepoint_state_offset = 944;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 276;
 static constexpr dart::compiler::target::word
@@ -19959,24 +20073,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 880;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 884;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 876;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 884;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 888;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 888;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 892;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 892;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 896;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 896;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 900;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 900;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 904;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 904;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 908;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        908;
+        912;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 912;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 916;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 76;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -19991,9 +20107,9 @@
     AOT_Thread_write_barrier_mask_offset = 32;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    944;
+    948;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 948;
+    AOT_Thread_callback_stack_return_offset = 952;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
     968;
 static constexpr dart::compiler::target::word AOT_Thread_random_offset = 976;
@@ -20456,23 +20572,25 @@
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_await_offset = 1048;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_handle_exception_offset = 1112;
+    AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1056;
+static constexpr dart::compiler::target::word
+    AOT_ObjectStore_suspend_state_handle_exception_offset = 1120;
 static constexpr dart::compiler::target::word
     AOT_ObjectStore_suspend_state_init_async_offset = 1040;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_async_star_offset = 1072;
+    AOT_ObjectStore_suspend_state_init_async_star_offset = 1080;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1096;
+    AOT_ObjectStore_suspend_state_init_sync_star_offset = 1104;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_offset = 1056;
+    AOT_ObjectStore_suspend_state_return_async_offset = 1064;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1064;
+    AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1072;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_return_async_star_offset = 1088;
+    AOT_ObjectStore_suspend_state_return_async_star_offset = 1096;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1104;
+    AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1112;
 static constexpr dart::compiler::target::word
-    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1080;
+    AOT_ObjectStore_suspend_state_yield_async_star_offset = 1088;
 static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
     16;
 static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -20514,9 +20632,9 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_AllocateArray_entry_point_offset = 808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1816;
+    AOT_Thread_active_exception_offset = 1824;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1824;
+    AOT_Thread_active_stacktrace_offset = 1832;
 static constexpr dart::compiler::target::word
     AOT_Thread_array_write_barrier_entry_point_offset = 592;
 static constexpr dart::compiler::target::word
@@ -20540,7 +20658,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_allocate_object_slow_stub_offset = 408;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1896;
+    1904;
 static constexpr dart::compiler::target::word
     AOT_Thread_async_exception_handler_stub_offset = 416;
 static constexpr dart::compiler::target::word
@@ -20555,13 +20673,13 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_call_to_runtime_stub_offset = 272;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1944;
+    1952;
 static constexpr dart::compiler::target::word
     AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_truncate_round_supported_offset = 1904;
+    AOT_Thread_double_truncate_round_supported_offset = 1912;
 static constexpr dart::compiler::target::word
-    AOT_Thread_service_extension_stream_offset = 1952;
+    AOT_Thread_service_extension_stream_offset = 1960;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     680;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -20578,7 +20696,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1856;
+    AOT_Thread_execution_state_offset = 1864;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_safepoint_stub_offset = 560;
 static constexpr dart::compiler::target::word
@@ -20600,14 +20718,14 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_float_zerow_address_offset = 800;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1832;
+    AOT_Thread_global_object_pool_offset = 1840;
 static constexpr dart::compiler::target::word
     AOT_Thread_invoke_dart_code_stub_offset = 264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1888;
+    AOT_Thread_exit_through_ffi_offset = 1896;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
-    1960;
+    1968;
 static constexpr dart::compiler::target::word
     AOT_Thread_field_table_values_offset = 136;
 static constexpr dart::compiler::target::word
@@ -20664,11 +20782,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_predefined_symbols_address_offset = 744;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1840;
+    1848;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1848;
+    AOT_Thread_saved_shadow_call_stack_offset = 1856;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1864;
+    AOT_Thread_safepoint_state_offset = 1872;
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_stub_offset = 536;
 static constexpr dart::compiler::target::word
@@ -20692,24 +20810,26 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_await_entry_point_offset = 1744;
 static constexpr dart::compiler::target::word
+    AOT_Thread_suspend_state_await_with_type_check_entry_point_offset = 1752;
+static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_init_async_entry_point_offset = 1736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_entry_point_offset = 1752;
+    AOT_Thread_suspend_state_return_async_entry_point_offset = 1760;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1760;
+    AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1768;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1768;
+    AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1776;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1776;
+    AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1784;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1784;
+    AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1792;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1792;
+    AOT_Thread_suspend_state_init_sync_star_entry_point_offset = 1800;
 static constexpr dart::compiler::target::word
     AOT_Thread_suspend_state_suspend_sync_star_at_start_entry_point_offset =
-        1800;
+        1808;
 static constexpr dart::compiler::target::word
-    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1808;
+    AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1816;
 static constexpr dart::compiler::target::word
     AOT_Thread_top_exit_frame_info_offset = 152;
 static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -20724,16 +20844,16 @@
     AOT_Thread_write_barrier_mask_offset = 64;
 static constexpr dart::compiler::target::word AOT_Thread_heap_base_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1872;
+    1880;
 static constexpr dart::compiler::target::word
-    AOT_Thread_callback_stack_return_offset = 1880;
+    AOT_Thread_callback_stack_return_offset = 1888;
 static constexpr dart::compiler::target::word AOT_Thread_next_task_id_offset =
-    1912;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1920;
+    1920;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1928;
 static constexpr dart::compiler::target::word
     AOT_Thread_jump_to_frame_entry_point_offset = 704;
 static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
-    1928;
+    1936;
 static constexpr dart::compiler::target::word
     AOT_TsanUtils_setjmp_function_offset = 0;
 static constexpr dart::compiler::target::word
diff --git a/runtime/vm/compiler/runtime_offsets_list.h b/runtime/vm/compiler/runtime_offsets_list.h
index c290e78..8e18ab9 100644
--- a/runtime/vm/compiler/runtime_offsets_list.h
+++ b/runtime/vm/compiler/runtime_offsets_list.h
@@ -182,6 +182,7 @@
   FIELD(ObjectStore, string_type_offset)                                       \
   FIELD(ObjectStore, type_type_offset)                                         \
   FIELD(ObjectStore, suspend_state_await_offset)                               \
+  FIELD(ObjectStore, suspend_state_await_with_type_check_offset)               \
   FIELD(ObjectStore, suspend_state_handle_exception_offset)                    \
   FIELD(ObjectStore, suspend_state_init_async_offset)                          \
   FIELD(ObjectStore, suspend_state_init_async_star_offset)                     \
@@ -306,6 +307,7 @@
   FIELD(Thread, stack_overflow_shared_without_fpu_regs_stub_offset)            \
   FIELD(Thread, store_buffer_block_offset)                                     \
   FIELD(Thread, suspend_state_await_entry_point_offset)                        \
+  FIELD(Thread, suspend_state_await_with_type_check_entry_point_offset)        \
   FIELD(Thread, suspend_state_init_async_entry_point_offset)                   \
   FIELD(Thread, suspend_state_return_async_entry_point_offset)                 \
   FIELD(Thread, suspend_state_return_async_not_future_entry_point_offset)      \
diff --git a/runtime/vm/compiler/stub_code_compiler.cc b/runtime/vm/compiler/stub_code_compiler.cc
index c30dc9b..335d9ea 100644
--- a/runtime/vm/compiler/stub_code_compiler.cc
+++ b/runtime/vm/compiler/stub_code_compiler.cc
@@ -1892,9 +1892,11 @@
 void StubCodeCompiler::GenerateSuspendStub(
     Assembler* assembler,
     bool call_suspend_function,
+    bool pass_type_arguments,
     intptr_t suspend_entry_point_offset_in_thread,
     intptr_t suspend_function_offset_in_object_store) {
   const Register kArgument = SuspendStubABI::kArgumentReg;
+  const Register kTypeArgs = SuspendStubABI::kTypeArgsReg;
   const Register kTemp = SuspendStubABI::kTempReg;
   const Register kFrameSize = SuspendStubABI::kFrameSizeReg;
   const Register kSuspendState = SuspendStubABI::kSuspendStateReg;
@@ -1917,6 +1919,10 @@
 
   __ EnterStubFrame();
 
+  if (pass_type_arguments) {
+    __ PushRegister(kTypeArgs);
+  }
+
   __ CompareClassId(kSuspendState, kSuspendStateCid, kTemp);
 
   if (FLAG_precompiled_mode) {
@@ -2042,8 +2048,14 @@
   __ Bind(&call_dart);
   if (call_suspend_function) {
     __ Comment("Call suspend Dart function");
+    if (pass_type_arguments) {
+      __ LoadObject(ARGS_DESC_REG,
+                    ArgumentsDescriptorBoxed(/*type_args_len=*/1,
+                                             /*num_arguments=*/2));
+    }
     CallDartCoreLibraryFunction(assembler, suspend_entry_point_offset_in_thread,
-                                suspend_function_offset_in_object_store);
+                                suspend_function_offset_in_object_store,
+                                /*uses_args_desc=*/pass_type_arguments);
   } else {
     // SuspendStub returns either the result of Dart callback,
     // or SuspendStub argument (if Dart callback is not used).
@@ -2137,14 +2149,25 @@
 void StubCodeCompiler::GenerateAwaitStub(Assembler* assembler) {
   GenerateSuspendStub(assembler,
                       /*call_suspend_function=*/true,
+                      /*pass_type_arguments=*/false,
                       target::Thread::suspend_state_await_entry_point_offset(),
                       target::ObjectStore::suspend_state_await_offset());
 }
 
+void StubCodeCompiler::GenerateAwaitWithTypeCheckStub(Assembler* assembler) {
+  GenerateSuspendStub(
+      assembler,
+      /*call_suspend_function=*/true,
+      /*pass_type_arguments=*/true,
+      target::Thread::suspend_state_await_with_type_check_entry_point_offset(),
+      target::ObjectStore::suspend_state_await_with_type_check_offset());
+}
+
 void StubCodeCompiler::GenerateYieldAsyncStarStub(Assembler* assembler) {
   GenerateSuspendStub(
       assembler,
       /*call_suspend_function=*/true,
+      /*pass_type_arguments=*/false,
       target::Thread::suspend_state_yield_async_star_entry_point_offset(),
       target::ObjectStore::suspend_state_yield_async_star_offset());
 }
@@ -2154,6 +2177,7 @@
   GenerateSuspendStub(
       assembler,
       /*call_suspend_function=*/true,
+      /*pass_type_arguments=*/false,
       target::Thread::
           suspend_state_suspend_sync_star_at_start_entry_point_offset(),
       target::ObjectStore::suspend_state_suspend_sync_star_at_start_offset());
@@ -2162,7 +2186,8 @@
 void StubCodeCompiler::GenerateSuspendSyncStarAtYieldStub(
     Assembler* assembler) {
   GenerateSuspendStub(assembler,
-                      /*call_suspend_function=*/false, -1, -1);
+                      /*call_suspend_function=*/false,
+                      /*pass_type_arguments=*/false, -1, -1);
 }
 
 void StubCodeCompiler::GenerateInitSuspendableFunctionStub(
diff --git a/runtime/vm/compiler/stub_code_compiler.h b/runtime/vm/compiler/stub_code_compiler.h
index 1707063..73e2027 100644
--- a/runtime/vm/compiler/stub_code_compiler.h
+++ b/runtime/vm/compiler/stub_code_compiler.h
@@ -207,6 +207,7 @@
   static void GenerateSuspendStub(
       Assembler* assembler,
       bool call_suspend_function,
+      bool pass_type_arguments,
       intptr_t suspend_entry_point_offset_in_thread,
       intptr_t suspend_function_offset_in_object_store);
   static void GenerateInitSuspendableFunctionStub(
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 2bf84c6..c9a7139 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -573,10 +573,11 @@
   static const Register kResultReg = R0;
 };
 
-// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub,
+// ABI for SuspendStub (AwaitStub, AwaitWithTypeCheckStub, YieldAsyncStarStub,
 // SuspendSyncStarAtStartStub, SuspendSyncStarAtYieldStub).
 struct SuspendStubABI {
   static const Register kArgumentReg = R0;
+  static const Register kTypeArgsReg = R1;  // Can be the same as kTempReg
   static const Register kTempReg = R1;
   static const Register kFrameSizeReg = R2;
   static const Register kSuspendStateReg = R3;
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index 1e12a6c..6c70b20 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -403,10 +403,11 @@
   static const Register kResultReg = R0;
 };
 
-// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub,
+// ABI for SuspendStub (AwaitStub, AwaitWithTypeCheckStub, YieldAsyncStarStub,
 // SuspendSyncStarAtStartStub, SuspendSyncStarAtYieldStub).
 struct SuspendStubABI {
   static const Register kArgumentReg = R0;
+  static const Register kTypeArgsReg = R1;  // Can be the same as kTempReg
   static const Register kTempReg = R1;
   static const Register kFrameSizeReg = R2;
   static const Register kSuspendStateReg = R3;
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index 8c177ef..0bb45c9 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -292,10 +292,11 @@
   static const Register kResultReg = EAX;
 };
 
-// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub,
+// ABI for SuspendStub (AwaitStub, AwaitWithTypeCheckStub, YieldAsyncStarStub,
 // SuspendSyncStarAtStartStub, SuspendSyncStarAtYieldStub).
 struct SuspendStubABI {
   static const Register kArgumentReg = EAX;
+  static const Register kTypeArgsReg = EDX;  // Can be the same as kTempReg
   static const Register kTempReg = EDX;
   static const Register kFrameSizeReg = ECX;
   static const Register kSuspendStateReg = EBX;
diff --git a/runtime/vm/constants_riscv.h b/runtime/vm/constants_riscv.h
index 15d2285..029a7d4 100644
--- a/runtime/vm/constants_riscv.h
+++ b/runtime/vm/constants_riscv.h
@@ -412,10 +412,11 @@
   static constexpr Register kResultReg = A0;
 };
 
-// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub,
+// ABI for SuspendStub (AwaitStub, AwaitWithTypeCheckStub, YieldAsyncStarStub,
 // SuspendSyncStarAtStartStub, SuspendSyncStarAtYieldStub).
 struct SuspendStubABI {
   static const Register kArgumentReg = A0;
+  static const Register kTypeArgsReg = T0;  // Can be the same as kTempReg
   static const Register kTempReg = T0;
   static const Register kFrameSizeReg = T1;
   static const Register kSuspendStateReg = T2;
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index 7f27b54..802007f 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -373,10 +373,11 @@
   static const Register kResultReg = RAX;
 };
 
-// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub,
+// ABI for SuspendStub (AwaitStub, AwaitWithTypeCheckStub, YieldAsyncStarStub,
 // SuspendSyncStarAtStartStub, SuspendSyncStarAtYieldStub).
 struct SuspendStubABI {
   static const Register kArgumentReg = RAX;
+  static const Register kTypeArgsReg = RDX;  // Can be the same as kTempReg
   static const Register kTempReg = RDX;
   static const Register kFrameSizeReg = RCX;
   static const Register kSuspendStateReg = RBX;
diff --git a/runtime/vm/object_store.cc b/runtime/vm/object_store.cc
index 1146115..886896f 100644
--- a/runtime/vm/object_store.cc
+++ b/runtime/vm/object_store.cc
@@ -300,6 +300,10 @@
   ASSERT(!function.IsNull());
   set_suspend_state_await(function);
 
+  function = cls.LookupFunctionAllowPrivate(Symbols::_awaitWithTypeCheck());
+  ASSERT(!function.IsNull());
+  set_suspend_state_await_with_type_check(function);
+
   function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsync());
   ASSERT(!function.IsNull());
   set_suspend_state_return_async(function);
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h
index 6a1c37e..656fafc 100644
--- a/runtime/vm/object_store.h
+++ b/runtime/vm/object_store.h
@@ -177,6 +177,7 @@
   RW(Function, async_star_stream_controller_add_stream)                        \
   RW(Function, suspend_state_init_async)                                       \
   RW(Function, suspend_state_await)                                            \
+  RW(Function, suspend_state_await_with_type_check)                            \
   RW(Function, suspend_state_return_async)                                     \
   RW(Function, suspend_state_return_async_not_future)                          \
   RW(Function, suspend_state_init_async_star)                                  \
@@ -272,6 +273,7 @@
   RW(Code, slow_tts_stub)                                                      \
   /* Roots for JIT/AOT snapshots are up until here (see to_snapshot() below)*/ \
   RW(Code, await_stub)                                                         \
+  RW(Code, await_with_type_check_stub)                                         \
   RW(Code, clone_suspend_state_stub)                                           \
   RW(Code, init_async_stub)                                                    \
   RW(Code, resume_stub)                                                        \
@@ -366,6 +368,7 @@
   DO(init_late_instance_field_stub, InitLateInstanceField)                     \
   DO(init_late_final_instance_field_stub, InitLateFinalInstanceField)          \
   DO(await_stub, Await)                                                        \
+  DO(await_with_type_check_stub, AwaitWithTypeCheck)                           \
   DO(clone_suspend_state_stub, CloneSuspendState)                              \
   DO(init_async_stub, InitAsync)                                               \
   DO(resume_stub, Resume)                                                      \
diff --git a/runtime/vm/stub_code_list.h b/runtime/vm/stub_code_list.h
index 1f8a82c..6d99e14 100644
--- a/runtime/vm/stub_code_list.h
+++ b/runtime/vm/stub_code_list.h
@@ -160,6 +160,7 @@
   V(InstantiateTypeArgumentsMayShareFunctionTA)                                \
   V(NoSuchMethodDispatcher)                                                    \
   V(Await)                                                                     \
+  V(AwaitWithTypeCheck)                                                        \
   V(InitAsync)                                                                 \
   V(Resume)                                                                    \
   V(ReturnAsync)                                                               \
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index ad65d07..a2bdefe 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -418,6 +418,7 @@
   V(_WeakProperty, "_WeakProperty")                                            \
   V(_WeakReference, "_WeakReference")                                          \
   V(_await, "_await")                                                          \
+  V(_awaitWithTypeCheck, "_awaitWithTypeCheck")                                \
   V(_classRangeCheck, "_classRangeCheck")                                      \
   V(_current, "_current")                                                      \
   V(_ensureScheduleImmediate, "_ensureScheduleImmediate")                      \
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 67a4b7d..8829bd7 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -184,6 +184,7 @@
 #define CACHED_FUNCTION_ENTRY_POINTS_LIST(V)                                   \
   V(suspend_state_init_async)                                                  \
   V(suspend_state_await)                                                       \
+  V(suspend_state_await_with_type_check)                                       \
   V(suspend_state_return_async)                                                \
   V(suspend_state_return_async_not_future)                                     \
   V(suspend_state_init_async_star)                                             \
diff --git a/sdk/lib/_internal/vm/lib/async_patch.dart b/sdk/lib/_internal/vm/lib/async_patch.dart
index 78914b6..6753ed8 100644
--- a/sdk/lib/_internal/vm/lib/async_patch.dart
+++ b/sdk/lib/_internal/vm/lib/async_patch.dart
@@ -311,6 +311,33 @@
 
   @pragma("vm:entry-point", "call")
   @pragma("vm:invisible")
+  Object? _awaitWithTypeCheck<T>(Object? object) {
+    if (_thenCallback == null) {
+      _createAsyncCallbacks();
+    }
+    // Declare a new variable to avoid type promotion of 'object' to
+    // 'Future<T>', as it would disable further type promotion to '_Future'.
+    final obj = object;
+    if (obj is Future<T>) {
+      if (object is _Future) {
+        if (object._isComplete) {
+          _awaitCompletedFuture(object);
+        } else {
+          object._thenAwait<dynamic>(
+              unsafeCast<dynamic Function(dynamic)>(_thenCallback),
+              unsafeCast<dynamic Function(Object, StackTrace)>(_errorCallback));
+        }
+      } else {
+        _awaitUserDefinedFuture(obj);
+      }
+    } else {
+      _awaitNotFuture(object);
+    }
+    return _functionData;
+  }
+
+  @pragma("vm:entry-point", "call")
+  @pragma("vm:invisible")
   static Future _returnAsync(Object suspendState, Object? returnValue) {
     _Future future;
     if (suspendState is _SuspendState) {
diff --git a/tests/language/async/await_type_check_test.dart b/tests/language/async/await_type_check_test.dart
new file mode 100644
index 0000000..9dc9ec1
--- /dev/null
+++ b/tests/language/async/await_type_check_test.dart
@@ -0,0 +1,81 @@
+// Copyright (c) 2022, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Verifies that 'await' should check if the awaited value has a correct
+// Future<T> type before awaiting it. A Future of incompatible type
+// should not be awaited.
+//
+// Regression test for https://github.com/dart-lang/sdk/issues/49396.
+
+// Requirements=nnbd-strong
+
+import 'dart:async';
+import 'package:expect/expect.dart';
+import '../static_type_helper.dart';
+
+class A {}
+
+abstract class B<X> extends A implements Future<X> {
+  Future<X> get fut;
+  asStream() => fut.asStream();
+  catchError(error, {test}) => fut.catchError(error, test: test);
+  then<R>(onValue, {onError}) => fut.then(onValue, onError: onError);
+  timeout(timeLimit, {onTimeout}) =>
+      fut.timeout(timeLimit, onTimeout: onTimeout);
+  whenComplete(action) => fut.whenComplete(action);
+}
+
+class C extends B<Object?> {
+  final Future<Object?> fut = Future.value(CompletelyUnrelated());
+}
+
+class CompletelyUnrelated {}
+
+class C1 extends A {}
+
+class C2 extends B<C1> {
+  final Future<C1> fut = Future.value(C1());
+}
+
+void main() async {
+  final Object o = Future<Object?>.value();
+  var o2 = await o; // Remains a future.
+  o2.expectStaticType<Exactly<Object>>();
+  Expect.isTrue(o2 is Future<Object?>);
+  Expect.identical(o2, o);
+
+  final FutureOr<Object> x = Future<Object?>.value();
+  var x2 = await x; // Remains a future.
+  x2.expectStaticType<Exactly<Object>>();
+  Expect.isTrue(x2 is Future<Object?>);
+  Expect.identical(x2, x);
+
+  final FutureOr<Future<int>> y = Future<int>.value(1);
+  var y2 = await y; // Remains a `Future<int>`.
+  y2.expectStaticType<Exactly<Future<int>>>();
+  Expect.isTrue(y2 is Future<int>);
+  Expect.identical(y2, y);
+
+  A a = C();
+  var a2 = await a; // Remains an `A`.
+  a2.expectStaticType<Exactly<A>>();
+  Expect.isTrue(a2 is A);
+  Expect.identical(a2, a);
+
+  Future<void> f<X extends Object>(X x) async {
+    var x2 = await x; // Remains a `Future<Object?>`.
+    Expect.isTrue(x2 is Future<Object?>);
+    Expect.identical(x2, x);
+  }
+
+  await f(Future<Object?>.value(null));
+
+  Future<void> g<X extends A>(X x) async {
+    var x2 = await x; // The future is awaited.
+    Expect.isTrue(x2 is C1);
+    Expect.notIdentical(x2, x);
+  }
+
+  await g<A>(C2());
+}