[vm] New async*/yield/yield* implementation based on suspend/resume stubs
TEST=ci
Issue: https://github.com/dart-lang/sdk/issues/48378
Change-Id: I0c2ca9269b2c8f008a79c139a0ce10231996732d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/242923
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
diff --git a/pkg/kernel/binary.md b/pkg/kernel/binary.md
index 895c2ab..c962060 100644
--- a/pkg/kernel/binary.md
+++ b/pkg/kernel/binary.md
@@ -1371,7 +1371,7 @@
type YieldStatement extends Statement {
Byte tag = 77;
FileOffset fileOffset;
- Byte flags (isYieldStar);
+ Byte flags (isYieldStar, isNative);
Expression expression;
}
diff --git a/pkg/vm/lib/transformations/continuation.dart b/pkg/vm/lib/transformations/continuation.dart
index f158e8e..4201896 100644
--- a/pkg/vm/lib/transformations/continuation.dart
+++ b/pkg/vm/lib/transformations/continuation.dart
@@ -158,9 +158,16 @@
return node;
}
case AsyncMarker.AsyncStar:
- return new AsyncStarFunctionRewriter(
- helper, node, staticTypeContext, desugarAsync)
- .rewrite();
+ if (desugarAsync) {
+ return new AsyncStarFunctionRewriter(
+ helper, node, staticTypeContext, desugarAsync)
+ .rewrite();
+ } else {
+ node.transformOrRemoveChildren(new RecursiveContinuationRewriter(
+ helper, staticTypeContext, desugarAsync,
+ desugarAwaitFor: true));
+ return node;
+ }
}
}
diff --git a/runtime/vm/code_descriptors.h b/runtime/vm/code_descriptors.h
index 9251781..e268ff0 100644
--- a/runtime/vm/code_descriptors.h
+++ b/runtime/vm/code_descriptors.h
@@ -77,7 +77,9 @@
};
explicit ExceptionHandlerList(const Function& function)
- : list_(), has_async_handler_(function.IsCompactAsyncFunction()) {}
+ : list_(),
+ has_async_handler_(function.IsCompactAsyncFunction() ||
+ function.IsCompactAsyncStarFunction()) {}
intptr_t Length() const { return list_.length(); }
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
index 7b14f31..c03025e0 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm.cc
@@ -376,7 +376,7 @@
} else if (parsed_function().suspend_state_var() != nullptr) {
// Initialize synthetic :suspend_state variable early
// as it may be accessed by GC and exception handling before
- // InitAsync stub is called.
+ // InitSuspendableFunction stub is called.
const intptr_t slot_index =
compiler::target::frame_layout.FrameSlotForVariable(
parsed_function().suspend_state_var());
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
index 67fed8a..362e199 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_arm64.cc
@@ -366,7 +366,7 @@
} else if (parsed_function().suspend_state_var() != nullptr) {
// Initialize synthetic :suspend_state variable early
// as it may be accessed by GC and exception handling before
- // InitAsync stub is called.
+ // InitSuspendableFunction stub is called.
const intptr_t slot_index =
compiler::target::frame_layout.FrameSlotForVariable(
parsed_function().suspend_state_var());
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
index c23ff8a..257243a 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_ia32.cc
@@ -453,7 +453,7 @@
} else if (parsed_function().suspend_state_var() != nullptr) {
// Initialize synthetic :suspend_state variable early
// as it may be accessed by GC and exception handling before
- // InitAsync stub is called.
+ // InitSuspendableFunction stub is called.
const intptr_t slot_index =
compiler::target::frame_layout.FrameSlotForVariable(
parsed_function().suspend_state_var());
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc b/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc
index 2c40fdc..c129e1b 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_riscv.cc
@@ -360,7 +360,7 @@
} else if (parsed_function().suspend_state_var() != nullptr) {
// Initialize synthetic :suspend_state variable early
// as it may be accessed by GC and exception handling before
- // InitAsync stub is called.
+ // InitSuspendableFunction stub is called.
const intptr_t slot_index =
compiler::target::frame_layout.FrameSlotForVariable(
parsed_function().suspend_state_var());
diff --git a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
index e6c3b1e..59db090 100644
--- a/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
+++ b/runtime/vm/compiler/backend/flow_graph_compiler_x64.cc
@@ -372,7 +372,7 @@
} else if (parsed_function().suspend_state_var() != nullptr) {
// Initialize synthetic :suspend_state variable early
// as it may be accessed by GC and exception handling before
- // InitAsync stub is called.
+ // InitSuspendableFunction stub is called.
const intptr_t slot_index =
compiler::target::frame_layout.FrameSlotForVariable(
parsed_function().suspend_state_var());
diff --git a/runtime/vm/compiler/backend/il.cc b/runtime/vm/compiler/backend/il.cc
index 768d5c4..4a8bc6c 100644
--- a/runtime/vm/compiler/backend/il.cc
+++ b/runtime/vm/compiler/backend/il.cc
@@ -6901,16 +6901,25 @@
}
const Code& ReturnInstr::GetReturnStub(FlowGraphCompiler* compiler) const {
- ASSERT(compiler->parsed_function().function().IsCompactAsyncFunction());
- if (!value()->Type()->CanBeFuture()) {
- return Code::ZoneHandle(compiler->zone(),
- compiler->isolate_group()
- ->object_store()
- ->return_async_not_future_stub());
+ const Function& function = compiler->parsed_function().function();
+ ASSERT(function.IsSuspendableFunction());
+ if (function.IsCompactAsyncFunction()) {
+ if (!value()->Type()->CanBeFuture()) {
+ return Code::ZoneHandle(compiler->zone(),
+ compiler->isolate_group()
+ ->object_store()
+ ->return_async_not_future_stub());
+ }
+ return Code::ZoneHandle(
+ compiler->zone(),
+ compiler->isolate_group()->object_store()->return_async_stub());
+ } else if (function.IsCompactAsyncStarFunction()) {
+ return Code::ZoneHandle(
+ compiler->zone(),
+ compiler->isolate_group()->object_store()->return_async_star_stub());
+ } else {
+ UNREACHABLE();
}
- return Code::ZoneHandle(
- compiler->zone(),
- compiler->isolate_group()->object_store()->return_async_stub());
}
void NativeReturnInstr::EmitReturnMoves(FlowGraphCompiler* compiler) {
@@ -7230,10 +7239,12 @@
LocationSummary(zone, kNumInputs, kNumTemps, LocationSummary::kCall);
switch (stub_id_) {
case StubId::kInitAsync:
+ case StubId::kInitAsyncStar:
locs->set_in(0, Location::RegisterLocation(
InitSuspendableFunctionStubABI::kTypeArgsReg));
break;
- case StubId::kAwaitAsync:
+ case StubId::kAwait:
+ case StubId::kYieldAsyncStar:
locs->set_in(0, Location::RegisterLocation(SuspendStubABI::kArgumentReg));
break;
}
@@ -7248,15 +7259,21 @@
case StubId::kInitAsync:
stub = object_store->init_async_stub();
break;
- case StubId::kAwaitAsync:
- stub = object_store->await_async_stub();
+ case StubId::kAwait:
+ stub = object_store->await_stub();
+ break;
+ case StubId::kInitAsyncStar:
+ stub = object_store->init_async_star_stub();
+ break;
+ case StubId::kYieldAsyncStar:
+ stub = object_store->yield_async_star_stub();
break;
}
compiler->GenerateStubCall(source(), stub, UntaggedPcDescriptors::kOther,
locs(), deopt_id(), env());
#if defined(TARGET_ARCH_X64) || defined(TARGET_ARCH_IA32)
- if (stub_id_ == StubId::kAwaitAsync) {
+ if ((stub_id_ == StubId::kAwait) || (stub_id_ == StubId::kYieldAsyncStar)) {
// On x86 (X64 and IA32) mismatch between calls and returns
// significantly regresses performance. So suspend stub
// does not return directly to the caller. Instead, a small
diff --git a/runtime/vm/compiler/backend/il.h b/runtime/vm/compiler/backend/il.h
index d0bbaed..6b6c9019 100644
--- a/runtime/vm/compiler/backend/il.h
+++ b/runtime/vm/compiler/backend/il.h
@@ -9567,8 +9567,10 @@
class Call1ArgStubInstr : public TemplateDefinition<1, Throws> {
public:
enum class StubId {
+ kAwait,
kInitAsync,
- kAwaitAsync,
+ kInitAsyncStar,
+ kYieldAsyncStar,
};
Call1ArgStubInstr(const InstructionSource& source,
diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc
index cf3345c..493238e 100644
--- a/runtime/vm/compiler/backend/il_arm.cc
+++ b/runtime/vm/compiler/backend/il_arm.cc
@@ -484,7 +484,7 @@
ASSERT(result == CallingConventions::kReturnFpuReg);
}
- if (compiler->parsed_function().function().IsCompactAsyncFunction()) {
+ if (compiler->parsed_function().function().IsSuspendableFunction()) {
ASSERT(compiler->flow_graph().graph_entry()->NeedsFrame());
const Code& stub = GetReturnStub(compiler);
compiler->EmitJumpToStub(stub);
diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc
index a6a35de..4d0bf7c 100644
--- a/runtime/vm/compiler/backend/il_arm64.cc
+++ b/runtime/vm/compiler/backend/il_arm64.cc
@@ -411,7 +411,7 @@
ASSERT(result == CallingConventions::kReturnFpuReg);
}
- if (compiler->parsed_function().function().IsCompactAsyncFunction()) {
+ if (compiler->parsed_function().function().IsSuspendableFunction()) {
ASSERT(compiler->flow_graph().graph_entry()->NeedsFrame());
const Code& stub = GetReturnStub(compiler);
compiler->EmitJumpToStub(stub);
diff --git a/runtime/vm/compiler/backend/il_ia32.cc b/runtime/vm/compiler/backend/il_ia32.cc
index 3a4a935..f2ebdda 100644
--- a/runtime/vm/compiler/backend/il_ia32.cc
+++ b/runtime/vm/compiler/backend/il_ia32.cc
@@ -233,7 +233,7 @@
Register result = locs()->in(0).reg();
ASSERT(result == EAX);
- if (compiler->parsed_function().function().IsCompactAsyncFunction()) {
+ if (compiler->parsed_function().function().IsSuspendableFunction()) {
ASSERT(compiler->flow_graph().graph_entry()->NeedsFrame());
const Code& stub = GetReturnStub(compiler);
compiler->EmitJumpToStub(stub);
diff --git a/runtime/vm/compiler/backend/il_printer.cc b/runtime/vm/compiler/backend/il_printer.cc
index a4ed678..76b1c00 100644
--- a/runtime/vm/compiler/backend/il_printer.cc
+++ b/runtime/vm/compiler/backend/il_printer.cc
@@ -1362,8 +1362,14 @@
case StubId::kInitAsync:
name = "InitAsync";
break;
- case StubId::kAwaitAsync:
- name = "AwaitAsync";
+ case StubId::kAwait:
+ name = "Await";
+ break;
+ case StubId::kInitAsyncStar:
+ name = "InitAsyncStar";
+ break;
+ case StubId::kYieldAsyncStar:
+ name = "YieldAsyncStar";
break;
}
f->Printf("%s(", name);
diff --git a/runtime/vm/compiler/backend/il_riscv.cc b/runtime/vm/compiler/backend/il_riscv.cc
index d646861..74459f7 100644
--- a/runtime/vm/compiler/backend/il_riscv.cc
+++ b/runtime/vm/compiler/backend/il_riscv.cc
@@ -464,7 +464,7 @@
ASSERT(result == CallingConventions::kReturnFpuReg);
}
- if (compiler->parsed_function().function().IsCompactAsyncFunction()) {
+ if (compiler->parsed_function().function().IsSuspendableFunction()) {
ASSERT(compiler->flow_graph().graph_entry()->NeedsFrame());
const Code& stub = GetReturnStub(compiler);
compiler->EmitJumpToStub(stub);
diff --git a/runtime/vm/compiler/backend/il_x64.cc b/runtime/vm/compiler/backend/il_x64.cc
index 75475b1..170932f 100644
--- a/runtime/vm/compiler/backend/il_x64.cc
+++ b/runtime/vm/compiler/backend/il_x64.cc
@@ -338,7 +338,7 @@
ASSERT(result == CallingConventions::kReturnFpuReg);
}
- if (compiler->parsed_function().function().IsCompactAsyncFunction()) {
+ if (compiler->parsed_function().function().IsSuspendableFunction()) {
ASSERT(compiler->flow_graph().graph_entry()->NeedsFrame());
const Code& stub = GetReturnStub(compiler);
compiler->EmitJumpToStub(stub);
diff --git a/runtime/vm/compiler/backend/range_analysis.cc b/runtime/vm/compiler/backend/range_analysis.cc
index 708308f..f2cf0ab 100644
--- a/runtime/vm/compiler/backend/range_analysis.cc
+++ b/runtime/vm/compiler/backend/range_analysis.cc
@@ -2814,7 +2814,7 @@
case Slot::Kind::kFunctionType_parameter_types:
case Slot::Kind::kFunctionType_type_parameters:
case Slot::Kind::kInstance_native_fields_array:
- case Slot::Kind::kSuspendState_future:
+ case Slot::Kind::kSuspendState_function_data:
case Slot::Kind::kSuspendState_then_callback:
case Slot::Kind::kSuspendState_error_callback:
case Slot::Kind::kTypedDataView_typed_data:
diff --git a/runtime/vm/compiler/backend/slot.cc b/runtime/vm/compiler/backend/slot.cc
index 77d0153..74e10bc 100644
--- a/runtime/vm/compiler/backend/slot.cc
+++ b/runtime/vm/compiler/backend/slot.cc
@@ -243,7 +243,7 @@
case Slot::Kind::kFunctionType_named_parameter_names:
case Slot::Kind::kFunctionType_parameter_types:
case Slot::Kind::kFunctionType_type_parameters:
- case Slot::Kind::kSuspendState_future:
+ case Slot::Kind::kSuspendState_function_data:
case Slot::Kind::kSuspendState_then_callback:
case Slot::Kind::kSuspendState_error_callback:
case Slot::Kind::kType_arguments:
diff --git a/runtime/vm/compiler/backend/slot.h b/runtime/vm/compiler/backend/slot.h
index 12609d6..e4efe29 100644
--- a/runtime/vm/compiler/backend/slot.h
+++ b/runtime/vm/compiler/backend/slot.h
@@ -73,7 +73,7 @@
V(ImmutableLinkedHashBase, UntaggedLinkedHashBase, index, \
TypedDataUint32Array, VAR) \
V(Instance, UntaggedInstance, native_fields_array, Dynamic, VAR) \
- V(SuspendState, UntaggedSuspendState, future, Dynamic, VAR) \
+ V(SuspendState, UntaggedSuspendState, function_data, Dynamic, VAR) \
V(SuspendState, UntaggedSuspendState, then_callback, Closure, VAR) \
V(SuspendState, UntaggedSuspendState, error_callback, Closure, VAR) \
V(Type, UntaggedType, arguments, TypeArguments, FINAL) \
diff --git a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
index ab59d68..6bbd861 100644
--- a/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
+++ b/runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc
@@ -684,6 +684,24 @@
body += B->Call1ArgStub(TokenPosition::kNoSource,
Call1ArgStubInstr::StubId::kInitAsync);
body += Drop();
+ } else if (dart_function.IsCompactAsyncStarFunction()) {
+ const auto& result_type =
+ AbstractType::Handle(Z, dart_function.result_type());
+ auto& type_args = TypeArguments::ZoneHandle(Z);
+ if (result_type.IsType() &&
+ (result_type.type_class() == IG->object_store()->stream_class())) {
+ ASSERT(result_type.IsFinalized());
+ type_args = result_type.arguments();
+ }
+
+ body += TranslateInstantiatedTypeArguments(type_args);
+ body += B->Call1ArgStub(TokenPosition::kNoSource,
+ Call1ArgStubInstr::StubId::kInitAsyncStar);
+ body += Drop();
+ body += NullConstant();
+ body += B->Call1ArgStub(TokenPosition::kNoSource,
+ Call1ArgStubInstr::StubId::kYieldAsyncStar);
+ body += Drop();
}
return body;
}
@@ -4322,7 +4340,8 @@
Fragment StreamingFlowGraphBuilder::BuildAwaitExpression(
TokenPosition* position) {
- ASSERT(parsed_function()->function().IsCompactAsyncFunction());
+ ASSERT(parsed_function()->function().IsCompactAsyncFunction() ||
+ parsed_function()->function().IsCompactAsyncStarFunction());
Fragment instructions;
const TokenPosition pos = ReadPosition(); // read file offset.
@@ -4330,7 +4349,7 @@
instructions += BuildExpression(); // read operand.
- instructions += B->Call1ArgStub(pos, Call1ArgStubInstr::StubId::kAwaitAsync);
+ instructions += B->Call1ArgStub(pos, Call1ArgStubInstr::StubId::kAwait);
return instructions;
}
@@ -5228,8 +5247,83 @@
const TokenPosition pos = ReadPosition(); // read position.
if (position != nullptr) *position = pos;
- uint8_t flags = ReadByte(); // read flags.
- ASSERT(flags == kNativeYieldFlags); // Must have been desugared.
+ const uint8_t flags = ReadByte(); // read flags.
+
+ if ((flags & kYieldStatementFlagNative) == 0) {
+ Fragment instructions;
+ // Generate the following code for yield <expr>:
+ //
+ // _AsyncStarStreamController controller = :suspend_state._functionData;
+ // if (controller.add(<expr>)) {
+ // return;
+ // }
+ // suspend();
+ //
+ // Generate the following code for yield* <expr>:
+ //
+ // _AsyncStarStreamController controller = :suspend_state._functionData;
+ // controller.addStream(<expr>);
+ // if (suspend()) {
+ // return;
+ // }
+ //
+
+ // Load :suspend_state variable using low-level FP-relative load
+ // in order to avoid confusing SSA construction (which cannot
+ // track its value as it is modified implicitly by stubs).
+ LocalVariable* suspend_state = parsed_function()->suspend_state_var();
+ ASSERT(suspend_state != nullptr);
+ instructions += IntConstant(0);
+ instructions += B->LoadFpRelativeSlot(
+ compiler::target::frame_layout.FrameSlotForVariable(suspend_state) *
+ compiler::target::kWordSize,
+ CompileType::Dynamic(), kTagged);
+ instructions += LoadNativeField(Slot::SuspendState_function_data());
+
+ instructions += BuildExpression(); // read expression.
+
+ auto& add_method = Function::ZoneHandle(Z);
+ const bool is_yield_star = (flags & kYieldStatementFlagYieldStar) != 0;
+ if (is_yield_star) {
+ add_method =
+ IG->object_store()->async_star_stream_controller_add_stream();
+ } else {
+ add_method = IG->object_store()->async_star_stream_controller_add();
+ }
+ instructions += StaticCall(pos, add_method, 2, ICData::kNoRebind);
+
+ if (is_yield_star) {
+ // Discard result of _AsyncStarStreamController.addStream().
+ instructions += Drop();
+ // Suspend and test value passed to the resumed async* body.
+ instructions += NullConstant();
+ instructions +=
+ B->Call1ArgStub(pos, Call1ArgStubInstr::StubId::kYieldAsyncStar);
+ } else {
+ // Test value returned by _AsyncStarStreamController.add().
+ }
+
+ TargetEntryInstr* exit;
+ TargetEntryInstr* continue_execution;
+ instructions += BranchIfTrue(&exit, &continue_execution, false);
+
+ Fragment do_exit(exit);
+ do_exit += TranslateFinallyFinalizers(nullptr, -1);
+ do_exit += NullConstant();
+ do_exit += Return(TokenPosition::kNoSource);
+
+ instructions = Fragment(instructions.entry, continue_execution);
+ if (!is_yield_star) {
+ instructions += NullConstant();
+ instructions +=
+ B->Call1ArgStub(pos, Call1ArgStubInstr::StubId::kYieldAsyncStar);
+ instructions += Drop();
+ }
+
+ return instructions;
+ }
+
+ ASSERT(flags == kYieldStatementFlagNative); // Must have been desugared.
// Setup yield/continue point:
//
@@ -5476,6 +5570,16 @@
function.set_is_inlinable(false);
function.set_is_visible(true);
ASSERT(function.IsCompactAsyncFunction());
+ } else if (function_node_helper.async_marker_ ==
+ FunctionNodeHelper::kAsyncStar) {
+ if (!FLAG_precompiled_mode) {
+ FATAL("Compact async* functions are only supported in AOT mode.");
+ }
+ function.set_modifier(UntaggedFunction::kAsyncGen);
+ function.set_is_debuggable(true);
+ function.set_is_inlinable(false);
+ function.set_is_visible(true);
+ ASSERT(function.IsCompactAsyncStarFunction());
} else {
ASSERT((function_node_helper.async_marker_ ==
FunctionNodeHelper::kSync) ||
@@ -5514,6 +5618,7 @@
function.set_is_inlinable(!FLAG_lazy_async_stacks);
}
ASSERT(!function.IsCompactAsyncFunction());
+ ASSERT(!function.IsCompactAsyncStarFunction());
}
// If the start token position is synthetic, the end token position
diff --git a/runtime/vm/compiler/frontend/kernel_to_il.cc b/runtime/vm/compiler/frontend/kernel_to_il.cc
index 6f0e43c..86576be 100644
--- a/runtime/vm/compiler/frontend/kernel_to_il.cc
+++ b/runtime/vm/compiler/frontend/kernel_to_il.cc
@@ -834,7 +834,7 @@
V(LinkedHashBase_getIndex, LinkedHashBase_index) \
V(LinkedHashBase_getUsedData, LinkedHashBase_used_data) \
V(ObjectArrayLength, Array_length) \
- V(SuspendState_getFuture, SuspendState_future) \
+ V(SuspendState_getFunctionData, SuspendState_function_data) \
V(SuspendState_getThenCallback, SuspendState_then_callback) \
V(SuspendState_getErrorCallback, SuspendState_error_callback) \
V(TypedDataViewOffsetInBytes, TypedDataView_offset_in_bytes) \
@@ -852,7 +852,7 @@
V(NativeFinalizer_setCallback, NativeFinalizer_callback) \
V(LinkedHashBase_setData, LinkedHashBase_data) \
V(LinkedHashBase_setIndex, LinkedHashBase_index) \
- V(SuspendState_setFuture, SuspendState_future) \
+ V(SuspendState_setFunctionData, SuspendState_function_data) \
V(SuspendState_setThenCallback, SuspendState_then_callback) \
V(SuspendState_setErrorCallback, SuspendState_error_callback) \
V(WeakProperty_setKey, WeakProperty_key) \
diff --git a/runtime/vm/compiler/frontend/scope_builder.cc b/runtime/vm/compiler/frontend/scope_builder.cc
index c20ee54..6363a5e 100644
--- a/runtime/vm/compiler/frontend/scope_builder.cc
+++ b/runtime/vm/compiler/frontend/scope_builder.cc
@@ -89,7 +89,7 @@
scope_->set_begin_token_pos(function.token_pos());
scope_->set_end_token_pos(function.end_token_pos());
- if (function.IsCompactAsyncFunction()) {
+ if (function.IsSuspendableFunction()) {
LocalVariable* suspend_state_var =
MakeVariable(TokenPosition::kNoSource, TokenPosition::kNoSource,
Symbols::SuspendStateVar(), AbstractType::dynamic_type());
@@ -1276,15 +1276,16 @@
word flags = helper_.ReadByte(); // read flags.
VisitExpression(); // read expression.
- ASSERT(flags == kNativeYieldFlags);
- if (depth_.function_ == 0) {
- AddSwitchVariable();
- // Promote all currently visible local variables into the context.
- // TODO(27590) CaptureLocalVariables promotes to many variables into
- // the scope. Mark those variables as stack_local.
- // TODO(27590) we don't need to promote those variables that are
- // not used across yields.
- scope_->CaptureLocalVariables(current_function_scope_);
+ if ((flags & kYieldStatementFlagNative) != 0) {
+ if (depth_.function_ == 0) {
+ AddSwitchVariable();
+ // Promote all currently visible local variables into the context.
+ // TODO(27590) CaptureLocalVariables promotes to many variables into
+ // the scope. Mark those variables as stack_local.
+ // TODO(27590) we don't need to promote those variables that are
+ // not used across yields.
+ scope_->CaptureLocalVariables(current_function_scope_);
+ }
}
return;
}
diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h
index f1ce6f5..e887d24 100644
--- a/runtime/vm/compiler/recognized_methods_list.h
+++ b/runtime/vm/compiler/recognized_methods_list.h
@@ -83,8 +83,10 @@
V(::, copyRangeFromUint8ListToOneByteString, \
CopyRangeFromUint8ListToOneByteString, 0x19a1bf41) \
V(_StringBase, _interpolate, StringBaseInterpolate, 0x7da2a580) \
- V(_SuspendState, get:_future, SuspendState_getFuture, 0x0e2a7e73) \
- V(_SuspendState, set:_future, SuspendState_setFuture, 0x179923b0) \
+ V(_SuspendState, get:_functionData, SuspendState_getFunctionData, \
+ 0x7290026e) \
+ V(_SuspendState, set:_functionData, SuspendState_setFunctionData, \
+ 0x2b6668ab) \
V(_SuspendState, get:_thenCallback, SuspendState_getThenCallback, \
0xff1dccec) \
V(_SuspendState, set:_thenCallback, SuspendState_setThenCallback, \
@@ -95,7 +97,9 @@
0x4935f88c) \
V(_SuspendState, _createAsyncCallbacks, SuspendState_createAsyncCallbacks, \
0x4add6c13) \
- V(_SuspendState, _resume, SuspendState_resume, 0x93d8c5e8) \
+ V(_SuspendState, _createAsyncStarCallback, \
+ SuspendState_createAsyncStarCallback, 0xfa7537e4) \
+ V(_SuspendState, _resume, SuspendState_resume, 0xc738e9d2) \
V(_IntegerImplementation, toDouble, IntegerToDouble, 0x97728b46) \
V(_Double, _add, DoubleAdd, 0xea666327) \
V(_Double, _sub, DoubleSub, 0x28474c2e) \
diff --git a/runtime/vm/compiler/runtime_api.h b/runtime/vm/compiler/runtime_api.h
index 267337f..31c7822 100644
--- a/runtime/vm/compiler/runtime_api.h
+++ b/runtime/vm/compiler/runtime_api.h
@@ -992,7 +992,7 @@
public:
static word frame_size_offset();
static word pc_offset();
- static word future_offset();
+ static word function_data_offset();
static word then_callback_offset();
static word error_callback_offset();
static word payload_offset();
@@ -1239,9 +1239,14 @@
static word random_offset();
static word suspend_state_init_async_entry_point_offset();
- static word suspend_state_await_async_entry_point_offset();
+ static word suspend_state_await_entry_point_offset();
static word suspend_state_return_async_entry_point_offset();
static word suspend_state_return_async_not_future_entry_point_offset();
+
+ static word suspend_state_init_async_star_entry_point_offset();
+ static word suspend_state_yield_async_star_entry_point_offset();
+ static word suspend_state_return_async_star_entry_point_offset();
+
static word suspend_state_handle_exception_entry_point_offset();
static word OffsetFromThread(const dart::Object& object);
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index 738ed65..2fc188c 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -248,7 +248,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -256,9 +257,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 780;
+ 792;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 784;
+ 796;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -281,7 +282,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 820;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 832;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -292,13 +293,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 848;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 856;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 824;
+ Thread_double_truncate_round_supported_offset = 836;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 852;
+ Thread_service_extension_stream_offset = 860;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -314,7 +315,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 800;
+ 812;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -336,13 +337,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 788;
+ 800;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 816;
+ 828;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 856;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 864;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -384,11 +385,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 792;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 804;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 796;
+ Thread_saved_shadow_call_stack_offset = 808;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 804;
+ 816;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -409,7 +410,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 764;
+ Thread_suspend_state_await_entry_point_offset = 764;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 760;
static constexpr dart::compiler::target::word
@@ -417,7 +418,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 772;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 776;
+ Thread_suspend_state_init_async_star_entry_point_offset = 776;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 780;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 784;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 788;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -432,13 +439,13 @@
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 = 808;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 820;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 812;
-static constexpr dart::compiler::target::word Thread_random_offset = 832;
+ Thread_callback_stack_return_offset = 824;
+static constexpr dart::compiler::target::word Thread_random_offset = 840;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 840;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 848;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -863,7 +870,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -871,9 +879,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1560;
+ 1584;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1568;
+ 1592;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -897,7 +905,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -908,13 +916,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1680;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1704;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1648;
+ Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1688;
+ Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -930,7 +938,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1600;
+ 1624;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -952,14 +960,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1576;
+ 1600;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -1001,11 +1009,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1592;
+ Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1608;
+ 1632;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -1026,7 +1034,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1528;
+ Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -1034,7 +1042,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -1050,13 +1064,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word Thread_random_offset = 1656;
+ Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1664;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1688;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -1481,7 +1495,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -1489,9 +1504,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 748;
+ 760;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 752;
+ 764;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -1514,7 +1529,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 788;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 800;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -1525,13 +1540,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 816;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 824;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 792;
+ Thread_double_truncate_round_supported_offset = 804;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 820;
+ Thread_service_extension_stream_offset = 828;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -1547,7 +1562,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 768;
+ 780;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -1569,13 +1584,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 756;
+ 768;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 784;
+ 796;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 824;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 832;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -1617,11 +1632,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 760;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 772;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 764;
+ Thread_saved_shadow_call_stack_offset = 776;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 772;
+ 784;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -1642,7 +1657,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 732;
+ Thread_suspend_state_await_entry_point_offset = 732;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 728;
static constexpr dart::compiler::target::word
@@ -1650,7 +1665,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 740;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 744;
+ Thread_suspend_state_init_async_star_entry_point_offset = 744;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 748;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 752;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 756;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -1665,13 +1686,13 @@
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 = 776;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 788;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 780;
-static constexpr dart::compiler::target::word Thread_random_offset = 800;
+ Thread_callback_stack_return_offset = 792;
+static constexpr dart::compiler::target::word Thread_random_offset = 808;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 808;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 816;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -2093,7 +2114,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -2101,9 +2123,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -2127,7 +2149,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -2138,13 +2160,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1744;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1768;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1712;
+ Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1752;
+ Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -2160,7 +2182,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -2182,14 +2204,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -2231,11 +2253,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1648;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1656;
+ Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -2256,7 +2278,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1592;
+ Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -2264,7 +2286,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -2280,13 +2308,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word Thread_random_offset = 1720;
+ Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1728;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1752;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -2713,7 +2741,8 @@
SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 40;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -2721,9 +2750,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1560;
+ 1584;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1568;
+ 1592;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -2747,7 +2776,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -2758,13 +2787,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1680;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1704;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1648;
+ Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1688;
+ Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -2780,7 +2809,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1600;
+ 1624;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -2802,14 +2831,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1576;
+ 1600;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -2851,11 +2880,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1592;
+ Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1608;
+ 1632;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -2876,7 +2905,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1528;
+ Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -2884,7 +2913,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -2900,13 +2935,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word Thread_random_offset = 1656;
+ Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1664;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1688;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -3332,7 +3367,8 @@
SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 40;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -3340,9 +3376,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -3366,7 +3402,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -3377,13 +3413,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1744;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1768;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1712;
+ Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1752;
+ Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -3399,7 +3435,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -3421,14 +3457,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -3470,11 +3506,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1648;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1656;
+ Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -3495,7 +3531,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1592;
+ Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -3503,7 +3539,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -3519,13 +3561,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word Thread_random_offset = 1720;
+ Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1728;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1752;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -3951,7 +3993,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -3959,9 +4002,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 820;
+ 832;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 824;
+ 836;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -3984,7 +4027,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 860;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 872;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -3995,13 +4038,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 896;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 864;
+ Thread_double_truncate_round_supported_offset = 876;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 892;
+ Thread_service_extension_stream_offset = 900;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -4017,7 +4060,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 840;
+ 852;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -4039,13 +4082,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 828;
+ 840;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 856;
+ 868;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 896;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 904;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -4087,11 +4130,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 832;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 844;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 836;
+ Thread_saved_shadow_call_stack_offset = 848;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 844;
+ 856;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -4112,7 +4155,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 804;
+ Thread_suspend_state_await_entry_point_offset = 804;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 800;
static constexpr dart::compiler::target::word
@@ -4120,7 +4163,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 812;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 816;
+ Thread_suspend_state_init_async_star_entry_point_offset = 816;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 820;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 824;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 828;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -4135,13 +4184,13 @@
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 = 848;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 860;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 852;
-static constexpr dart::compiler::target::word Thread_random_offset = 872;
+ Thread_callback_stack_return_offset = 864;
+static constexpr dart::compiler::target::word Thread_random_offset = 880;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 880;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 888;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -4568,7 +4617,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -4576,9 +4626,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -4602,7 +4652,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -4613,13 +4663,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1736;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1760;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1704;
+ Thread_double_truncate_round_supported_offset = 1728;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1744;
+ Thread_service_extension_stream_offset = 1768;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -4635,7 +4685,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1656;
+ 1680;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -4657,14 +4707,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1688;
+ 1712;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1752;
+ 1776;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -4706,11 +4756,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1640;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1664;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1648;
+ Thread_saved_shadow_call_stack_offset = 1672;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -4731,7 +4781,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1584;
+ Thread_suspend_state_await_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
@@ -4739,7 +4789,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1600;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1608;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1608;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1632;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -4755,13 +4811,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1680;
-static constexpr dart::compiler::target::word Thread_random_offset = 1712;
+ Thread_callback_stack_return_offset = 1704;
+static constexpr dart::compiler::target::word Thread_random_offset = 1736;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1720;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1744;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -5183,7 +5239,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -5191,9 +5248,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 780;
+ 792;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 784;
+ 796;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -5216,7 +5273,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 820;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 832;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -5227,13 +5284,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 848;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 856;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 824;
+ Thread_double_truncate_round_supported_offset = 836;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 852;
+ Thread_service_extension_stream_offset = 860;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -5249,7 +5306,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 800;
+ 812;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -5271,13 +5328,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 788;
+ 800;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 816;
+ 828;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 856;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 864;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -5319,11 +5376,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 792;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 804;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 796;
+ Thread_saved_shadow_call_stack_offset = 808;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 804;
+ 816;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -5344,7 +5401,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 764;
+ Thread_suspend_state_await_entry_point_offset = 764;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 760;
static constexpr dart::compiler::target::word
@@ -5352,7 +5409,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 772;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 776;
+ Thread_suspend_state_init_async_star_entry_point_offset = 776;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 780;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 784;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 788;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -5367,13 +5430,13 @@
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 = 808;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 820;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 812;
-static constexpr dart::compiler::target::word Thread_random_offset = 832;
+ Thread_callback_stack_return_offset = 824;
+static constexpr dart::compiler::target::word Thread_random_offset = 840;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 840;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 848;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -5792,7 +5855,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -5800,9 +5864,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1560;
+ 1584;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1568;
+ 1592;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -5826,7 +5890,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -5837,13 +5901,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1680;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1704;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1648;
+ Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1688;
+ Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -5859,7 +5923,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1600;
+ 1624;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -5881,14 +5945,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1576;
+ 1600;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -5930,11 +5994,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1592;
+ Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1608;
+ 1632;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -5955,7 +6019,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1528;
+ Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -5963,7 +6027,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -5979,13 +6049,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word Thread_random_offset = 1656;
+ Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1664;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1688;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -6404,7 +6474,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -6412,9 +6483,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 748;
+ 760;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 752;
+ 764;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -6437,7 +6508,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 788;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 800;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -6448,13 +6519,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 816;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 824;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 792;
+ Thread_double_truncate_round_supported_offset = 804;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 820;
+ Thread_service_extension_stream_offset = 828;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -6470,7 +6541,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 768;
+ 780;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -6492,13 +6563,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 756;
+ 768;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 784;
+ 796;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 824;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 832;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -6540,11 +6611,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 760;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 772;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 764;
+ Thread_saved_shadow_call_stack_offset = 776;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 772;
+ 784;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -6565,7 +6636,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 732;
+ Thread_suspend_state_await_entry_point_offset = 732;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 728;
static constexpr dart::compiler::target::word
@@ -6573,7 +6644,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 740;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 744;
+ Thread_suspend_state_init_async_star_entry_point_offset = 744;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 748;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 752;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 756;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -6588,13 +6665,13 @@
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 = 776;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 788;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 780;
-static constexpr dart::compiler::target::word Thread_random_offset = 800;
+ Thread_callback_stack_return_offset = 792;
+static constexpr dart::compiler::target::word Thread_random_offset = 808;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 808;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 816;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -7010,7 +7087,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -7018,9 +7096,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -7044,7 +7122,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -7055,13 +7133,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1744;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1768;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1712;
+ Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1752;
+ Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -7077,7 +7155,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -7099,14 +7177,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -7148,11 +7226,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1648;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1656;
+ Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -7173,7 +7251,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1592;
+ Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -7181,7 +7259,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -7197,13 +7281,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word Thread_random_offset = 1720;
+ Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1728;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1752;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -7624,7 +7708,8 @@
SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 40;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -7632,9 +7717,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1560;
+ 1584;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1568;
+ 1592;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -7658,7 +7743,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -7669,13 +7754,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1680;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1704;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1648;
+ Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1688;
+ Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -7691,7 +7776,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1600;
+ 1624;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -7713,14 +7798,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1576;
+ 1600;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -7762,11 +7847,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1584;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1592;
+ Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1608;
+ 1632;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -7787,7 +7872,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1528;
+ Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -7795,7 +7880,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -7811,13 +7902,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word Thread_random_offset = 1656;
+ Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1664;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1688;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -8237,7 +8328,8 @@
SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 40;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -8245,9 +8337,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -8271,7 +8363,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -8282,13 +8374,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1744;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1768;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1712;
+ Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1752;
+ Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -8304,7 +8396,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -8326,14 +8418,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -8375,11 +8467,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1648;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1672;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1656;
+ Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -8400,7 +8492,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1592;
+ Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -8408,7 +8500,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -8424,13 +8522,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word Thread_random_offset = 1720;
+ Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1728;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1752;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -8850,7 +8948,8 @@
SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
4;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 12;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 24;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 8;
static constexpr dart::compiler::target::word
@@ -8858,9 +8957,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 820;
+ 832;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 824;
+ 836;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -8883,7 +8982,7 @@
Thread_allocate_object_slow_entry_point_offset = 296;
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 200;
-static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 860;
+static constexpr dart::compiler::target::word Thread_api_top_scope_offset = 872;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 120;
@@ -8894,13 +8993,13 @@
Thread_call_to_runtime_entry_point_offset = 276;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 140;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 888;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 896;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 44;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 864;
+ Thread_double_truncate_round_supported_offset = 876;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 892;
+ Thread_service_extension_stream_offset = 900;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 228;
@@ -8916,7 +9015,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 840;
+ 852;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -8938,13 +9037,13 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 828;
+ 840;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 856;
+ 868;
static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
-static constexpr dart::compiler::target::word Thread_isolate_group_offset = 896;
+static constexpr dart::compiler::target::word Thread_isolate_group_offset = 904;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
64;
static constexpr dart::compiler::target::word
@@ -8986,11 +9085,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 112;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 832;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 844;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 836;
+ Thread_saved_shadow_call_stack_offset = 848;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 844;
+ 856;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -9011,7 +9110,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
76;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 804;
+ Thread_suspend_state_await_entry_point_offset = 804;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 800;
static constexpr dart::compiler::target::word
@@ -9019,7 +9118,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 812;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 816;
+ Thread_suspend_state_init_async_star_entry_point_offset = 816;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 820;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 824;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 828;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word Thread_top_offset = 48;
@@ -9034,13 +9139,13 @@
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 = 848;
+static constexpr dart::compiler::target::word Thread_callback_code_offset = 860;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 852;
-static constexpr dart::compiler::target::word Thread_random_offset = 872;
+ Thread_callback_stack_return_offset = 864;
+static constexpr dart::compiler::target::word Thread_random_offset = 880;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 328;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 880;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 888;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -9461,7 +9566,8 @@
SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word SuspendState_frame_size_offset =
8;
-static constexpr dart::compiler::target::word SuspendState_future_offset = 24;
+static constexpr dart::compiler::target::word
+ SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word SuspendState_payload_offset = 48;
static constexpr dart::compiler::target::word SuspendState_pc_offset = 16;
static constexpr dart::compiler::target::word
@@ -9469,9 +9575,9 @@
static constexpr dart::compiler::target::word
Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word Thread_active_exception_offset =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
- 1624;
+ 1648;
static constexpr dart::compiler::target::word
Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -9495,7 +9601,7 @@
static constexpr dart::compiler::target::word
Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
@@ -9506,13 +9612,13 @@
Thread_call_to_runtime_entry_point_offset = 528;
static constexpr dart::compiler::target::word
Thread_call_to_runtime_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1736;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1760;
static constexpr dart::compiler::target::word
Thread_dispatch_table_array_offset = 88;
static constexpr dart::compiler::target::word
- Thread_double_truncate_round_supported_offset = 1704;
+ Thread_double_truncate_round_supported_offset = 1728;
static constexpr dart::compiler::target::word
- Thread_service_extension_stream_offset = 1744;
+ Thread_service_extension_stream_offset = 1768;
static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
@@ -9528,7 +9634,7 @@
static constexpr dart::compiler::target::word
Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word Thread_execution_state_offset =
- 1656;
+ 1680;
static constexpr dart::compiler::target::word
Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -9550,14 +9656,14 @@
static constexpr dart::compiler::target::word
Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
- 1632;
+ 1656;
static constexpr dart::compiler::target::word
Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
- 1688;
+ 1712;
static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word Thread_isolate_group_offset =
- 1752;
+ 1776;
static constexpr dart::compiler::target::word Thread_field_table_values_offset =
128;
static constexpr dart::compiler::target::word
@@ -9599,11 +9705,11 @@
static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
static constexpr dart::compiler::target::word
Thread_predefined_symbols_address_offset = 672;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1640;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1664;
static constexpr dart::compiler::target::word
- Thread_saved_shadow_call_stack_offset = 1648;
+ Thread_saved_shadow_call_stack_offset = 1672;
static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -9624,7 +9730,7 @@
static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
152;
static constexpr dart::compiler::target::word
- Thread_suspend_state_await_async_entry_point_offset = 1584;
+ Thread_suspend_state_await_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
Thread_suspend_state_init_async_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
@@ -9632,7 +9738,13 @@
static constexpr dart::compiler::target::word
Thread_suspend_state_return_async_not_future_entry_point_offset = 1600;
static constexpr dart::compiler::target::word
- Thread_suspend_state_handle_exception_entry_point_offset = 1608;
+ Thread_suspend_state_init_async_star_entry_point_offset = 1608;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_yield_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_return_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ Thread_suspend_state_handle_exception_entry_point_offset = 1632;
static constexpr dart::compiler::target::word
Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word Thread_top_offset = 96;
@@ -9648,13 +9760,13 @@
64;
static constexpr dart::compiler::target::word Thread_heap_base_offset = 72;
static constexpr dart::compiler::target::word Thread_callback_code_offset =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
- Thread_callback_stack_return_offset = 1680;
-static constexpr dart::compiler::target::word Thread_random_offset = 1712;
+ Thread_callback_stack_return_offset = 1704;
+static constexpr dart::compiler::target::word Thread_random_offset = 1736;
static constexpr dart::compiler::target::word
Thread_jump_to_frame_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1720;
+static constexpr dart::compiler::target::word Thread_tsan_utils_offset = 1744;
static constexpr dart::compiler::target::word TsanUtils_setjmp_function_offset =
0;
static constexpr dart::compiler::target::word TsanUtils_setjmp_buffer_offset =
@@ -10112,8 +10224,8 @@
AOT_SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 4;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 12;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
24;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 8;
@@ -10122,9 +10234,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 780;
+ AOT_Thread_active_exception_offset = 792;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 784;
+ AOT_Thread_active_stacktrace_offset = 796;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -10148,7 +10260,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 200;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 820;
+ 832;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -10161,13 +10273,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 140;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 848;
+ 856;
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 = 824;
+ AOT_Thread_double_truncate_round_supported_offset = 836;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 852;
+ AOT_Thread_service_extension_stream_offset = 860;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -10184,7 +10296,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 800;
+ AOT_Thread_execution_state_offset = 812;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -10206,14 +10318,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 788;
+ AOT_Thread_global_object_pool_offset = 800;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 816;
+ AOT_Thread_exit_through_ffi_offset = 828;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 856;
+ 864;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 64;
static constexpr dart::compiler::target::word
@@ -10257,11 +10369,11 @@
112;
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 792;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 804;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 796;
+ AOT_Thread_saved_shadow_call_stack_offset = 808;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 804;
+ AOT_Thread_safepoint_state_offset = 816;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -10283,7 +10395,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 76;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 764;
+ AOT_Thread_suspend_state_await_entry_point_offset = 764;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 760;
static constexpr dart::compiler::target::word
@@ -10291,7 +10403,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 772;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 776;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 776;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 780;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 784;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 788;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -10308,14 +10426,14 @@
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 =
- 808;
+ 820;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 812;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 832;
+ AOT_Thread_callback_stack_return_offset = 824;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 840;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 328;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 840;
+ 848;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -10803,8 +10921,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -10813,9 +10931,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1560;
+ AOT_Thread_active_exception_offset = 1584;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1568;
+ AOT_Thread_active_stacktrace_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -10839,7 +10957,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -10852,13 +10970,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1680;
+ 1704;
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 = 1648;
+ AOT_Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1688;
+ AOT_Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -10875,7 +10993,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1600;
+ AOT_Thread_execution_state_offset = 1624;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -10897,14 +11015,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1576;
+ AOT_Thread_global_object_pool_offset = 1600;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1632;
+ AOT_Thread_exit_through_ffi_offset = 1656;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -10949,11 +11067,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1584;
+ 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1592;
+ AOT_Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1608;
+ AOT_Thread_safepoint_state_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -10975,7 +11093,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1528;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -10983,7 +11101,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -11000,14 +11124,14 @@
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 =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1656;
+ AOT_Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -11500,8 +11624,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -11510,9 +11634,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1624;
+ AOT_Thread_active_exception_offset = 1648;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1632;
+ AOT_Thread_active_stacktrace_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -11536,7 +11660,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -11549,13 +11673,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1744;
+ 1768;
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 = 1712;
+ AOT_Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1752;
+ AOT_Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -11572,7 +11696,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1664;
+ AOT_Thread_execution_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -11594,14 +11718,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1640;
+ AOT_Thread_global_object_pool_offset = 1664;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1696;
+ AOT_Thread_exit_through_ffi_offset = 1720;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -11646,11 +11770,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1648;
+ 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1656;
+ AOT_Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1672;
+ AOT_Thread_safepoint_state_offset = 1696;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -11672,7 +11796,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1592;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -11680,7 +11804,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -11697,14 +11827,14 @@
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 =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1720;
+ AOT_Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1728;
+ 1752;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -12194,8 +12324,8 @@
AOT_SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
40;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -12204,9 +12334,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1560;
+ AOT_Thread_active_exception_offset = 1584;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1568;
+ AOT_Thread_active_stacktrace_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -12230,7 +12360,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -12243,13 +12373,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1680;
+ 1704;
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 = 1648;
+ AOT_Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1688;
+ AOT_Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -12266,7 +12396,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1600;
+ AOT_Thread_execution_state_offset = 1624;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -12288,14 +12418,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1576;
+ AOT_Thread_global_object_pool_offset = 1600;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1632;
+ AOT_Thread_exit_through_ffi_offset = 1656;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -12340,11 +12470,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1584;
+ 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1592;
+ AOT_Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1608;
+ AOT_Thread_safepoint_state_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -12366,7 +12496,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1528;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -12374,7 +12504,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -12391,14 +12527,14 @@
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 =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1656;
+ AOT_Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -12887,8 +13023,8 @@
AOT_SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
40;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -12897,9 +13033,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1624;
+ AOT_Thread_active_exception_offset = 1648;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1632;
+ AOT_Thread_active_stacktrace_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -12923,7 +13059,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -12936,13 +13072,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1744;
+ 1768;
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 = 1712;
+ AOT_Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1752;
+ AOT_Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -12959,7 +13095,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1664;
+ AOT_Thread_execution_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -12981,14 +13117,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1640;
+ AOT_Thread_global_object_pool_offset = 1664;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1696;
+ AOT_Thread_exit_through_ffi_offset = 1720;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -13033,11 +13169,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1648;
+ 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1656;
+ AOT_Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1672;
+ AOT_Thread_safepoint_state_offset = 1696;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -13059,7 +13195,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1592;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -13067,7 +13203,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -13084,14 +13226,14 @@
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 =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1720;
+ AOT_Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1728;
+ 1752;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -13581,8 +13723,8 @@
AOT_SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 4;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 12;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
24;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 8;
@@ -13591,9 +13733,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 820;
+ AOT_Thread_active_exception_offset = 832;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 824;
+ AOT_Thread_active_stacktrace_offset = 836;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -13617,7 +13759,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 200;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 860;
+ 872;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -13630,13 +13772,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 140;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 888;
+ 896;
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 = 864;
+ AOT_Thread_double_truncate_round_supported_offset = 876;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 892;
+ AOT_Thread_service_extension_stream_offset = 900;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -13653,7 +13795,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 840;
+ AOT_Thread_execution_state_offset = 852;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -13675,14 +13817,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 828;
+ AOT_Thread_global_object_pool_offset = 840;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 856;
+ AOT_Thread_exit_through_ffi_offset = 868;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 896;
+ 904;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 64;
static constexpr dart::compiler::target::word
@@ -13726,11 +13868,11 @@
112;
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 832;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 844;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 836;
+ AOT_Thread_saved_shadow_call_stack_offset = 848;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 844;
+ AOT_Thread_safepoint_state_offset = 856;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -13752,7 +13894,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 76;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 804;
+ AOT_Thread_suspend_state_await_entry_point_offset = 804;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 800;
static constexpr dart::compiler::target::word
@@ -13760,7 +13902,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 812;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 816;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 816;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 820;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 824;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 828;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -13777,14 +13925,14 @@
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 =
- 848;
+ 860;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 852;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 872;
+ AOT_Thread_callback_stack_return_offset = 864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 880;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 328;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 880;
+ 888;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -14274,8 +14422,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -14284,9 +14432,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1616;
+ AOT_Thread_active_exception_offset = 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1624;
+ AOT_Thread_active_stacktrace_offset = 1648;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -14310,7 +14458,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -14323,13 +14471,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1736;
+ 1760;
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 = 1704;
+ AOT_Thread_double_truncate_round_supported_offset = 1728;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1744;
+ AOT_Thread_service_extension_stream_offset = 1768;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -14346,7 +14494,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1656;
+ AOT_Thread_execution_state_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -14368,14 +14516,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1632;
+ AOT_Thread_global_object_pool_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1688;
+ AOT_Thread_exit_through_ffi_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1752;
+ 1776;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -14420,11 +14568,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1648;
+ AOT_Thread_saved_shadow_call_stack_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1664;
+ AOT_Thread_safepoint_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -14446,7 +14594,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1584;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
@@ -14454,7 +14602,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1600;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1608;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1608;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -14471,14 +14625,14 @@
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 =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1680;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1712;
+ AOT_Thread_callback_stack_return_offset = 1704;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1736;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1720;
+ 1744;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -14963,8 +15117,8 @@
AOT_SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 4;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 12;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
24;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 8;
@@ -14973,9 +15127,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 780;
+ AOT_Thread_active_exception_offset = 792;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 784;
+ AOT_Thread_active_stacktrace_offset = 796;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -14999,7 +15153,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 200;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 820;
+ 832;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -15012,13 +15166,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 140;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 848;
+ 856;
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 = 824;
+ AOT_Thread_double_truncate_round_supported_offset = 836;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 852;
+ AOT_Thread_service_extension_stream_offset = 860;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -15035,7 +15189,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 800;
+ AOT_Thread_execution_state_offset = 812;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -15057,14 +15211,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 788;
+ AOT_Thread_global_object_pool_offset = 800;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 816;
+ AOT_Thread_exit_through_ffi_offset = 828;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 856;
+ 864;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 64;
static constexpr dart::compiler::target::word
@@ -15108,11 +15262,11 @@
112;
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 792;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 804;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 796;
+ AOT_Thread_saved_shadow_call_stack_offset = 808;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 804;
+ AOT_Thread_safepoint_state_offset = 816;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -15134,7 +15288,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 76;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 764;
+ AOT_Thread_suspend_state_await_entry_point_offset = 764;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 760;
static constexpr dart::compiler::target::word
@@ -15142,7 +15296,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 772;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 776;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 776;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 780;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 784;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 788;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -15159,14 +15319,14 @@
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 =
- 808;
+ 820;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 812;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 832;
+ AOT_Thread_callback_stack_return_offset = 824;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 840;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 328;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 840;
+ 848;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -15647,8 +15807,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -15657,9 +15817,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1560;
+ AOT_Thread_active_exception_offset = 1584;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1568;
+ AOT_Thread_active_stacktrace_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -15683,7 +15843,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -15696,13 +15856,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1680;
+ 1704;
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 = 1648;
+ AOT_Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1688;
+ AOT_Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -15719,7 +15879,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1600;
+ AOT_Thread_execution_state_offset = 1624;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -15741,14 +15901,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1576;
+ AOT_Thread_global_object_pool_offset = 1600;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1632;
+ AOT_Thread_exit_through_ffi_offset = 1656;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -15793,11 +15953,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1584;
+ 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1592;
+ AOT_Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1608;
+ AOT_Thread_safepoint_state_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -15819,7 +15979,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1528;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -15827,7 +15987,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -15844,14 +16010,14 @@
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 =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1656;
+ AOT_Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -16337,8 +16503,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -16347,9 +16513,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1624;
+ AOT_Thread_active_exception_offset = 1648;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1632;
+ AOT_Thread_active_stacktrace_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -16373,7 +16539,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -16386,13 +16552,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1744;
+ 1768;
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 = 1712;
+ AOT_Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1752;
+ AOT_Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -16409,7 +16575,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1664;
+ AOT_Thread_execution_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -16431,14 +16597,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1640;
+ AOT_Thread_global_object_pool_offset = 1664;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1696;
+ AOT_Thread_exit_through_ffi_offset = 1720;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -16483,11 +16649,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1648;
+ 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1656;
+ AOT_Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1672;
+ AOT_Thread_safepoint_state_offset = 1696;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -16509,7 +16675,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1592;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -16517,7 +16683,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -16534,14 +16706,14 @@
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 =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1720;
+ AOT_Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1728;
+ 1752;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -17024,8 +17196,8 @@
AOT_SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
40;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -17034,9 +17206,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1560;
+ AOT_Thread_active_exception_offset = 1584;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1568;
+ AOT_Thread_active_stacktrace_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -17060,7 +17232,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -17073,13 +17245,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1680;
+ 1704;
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 = 1648;
+ AOT_Thread_double_truncate_round_supported_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1688;
+ AOT_Thread_service_extension_stream_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -17096,7 +17268,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1600;
+ AOT_Thread_execution_state_offset = 1624;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -17118,14 +17290,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1576;
+ AOT_Thread_global_object_pool_offset = 1600;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1632;
+ AOT_Thread_exit_through_ffi_offset = 1656;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -17170,11 +17342,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1584;
+ 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1592;
+ AOT_Thread_saved_shadow_call_stack_offset = 1616;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1608;
+ AOT_Thread_safepoint_state_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -17196,7 +17368,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1528;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1528;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1520;
static constexpr dart::compiler::target::word
@@ -17204,7 +17376,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1544;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1552;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1552;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1560;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1568;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -17221,14 +17399,14 @@
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 =
- 1616;
+ 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1624;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1656;
+ AOT_Thread_callback_stack_return_offset = 1648;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1664;
+ 1688;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -17710,8 +17888,8 @@
AOT_SuspendState_error_callback_offset = 32;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
40;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -17720,9 +17898,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1624;
+ AOT_Thread_active_exception_offset = 1648;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1632;
+ AOT_Thread_active_stacktrace_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -17746,7 +17924,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1704;
+ 1728;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -17759,13 +17937,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1744;
+ 1768;
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 = 1712;
+ AOT_Thread_double_truncate_round_supported_offset = 1736;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1752;
+ AOT_Thread_service_extension_stream_offset = 1776;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -17782,7 +17960,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1664;
+ AOT_Thread_execution_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -17804,14 +17982,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1640;
+ AOT_Thread_global_object_pool_offset = 1664;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1696;
+ AOT_Thread_exit_through_ffi_offset = 1720;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1760;
+ 1784;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -17856,11 +18034,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1648;
+ 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1656;
+ AOT_Thread_saved_shadow_call_stack_offset = 1680;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1672;
+ AOT_Thread_safepoint_state_offset = 1696;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -17882,7 +18060,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1592;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1592;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
@@ -17890,7 +18068,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1608;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1616;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1632;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1640;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -17907,14 +18091,14 @@
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 =
- 1680;
+ 1704;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1688;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1720;
+ AOT_Thread_callback_stack_return_offset = 1712;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1744;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1728;
+ 1752;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -18397,8 +18581,8 @@
AOT_SuspendState_error_callback_offset = 20;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 4;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 12;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 12;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
24;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 8;
@@ -18407,9 +18591,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 380;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 820;
+ AOT_Thread_active_exception_offset = 832;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 824;
+ AOT_Thread_active_stacktrace_offset = 836;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 272;
static constexpr dart::compiler::target::word
@@ -18433,7 +18617,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 200;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 860;
+ 872;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 344;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -18446,13 +18630,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 140;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 888;
+ 896;
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 = 864;
+ AOT_Thread_double_truncate_round_supported_offset = 876;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 892;
+ AOT_Thread_service_extension_stream_offset = 900;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
316;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -18469,7 +18653,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 252;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 840;
+ AOT_Thread_execution_state_offset = 852;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 256;
static constexpr dart::compiler::target::word
@@ -18491,14 +18675,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 376;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 828;
+ AOT_Thread_global_object_pool_offset = 840;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 136;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 856;
+ AOT_Thread_exit_through_ffi_offset = 868;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 896;
+ 904;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 64;
static constexpr dart::compiler::target::word
@@ -18542,11 +18726,11 @@
112;
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 348;
-static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 832;
+static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset = 844;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 836;
+ AOT_Thread_saved_shadow_call_stack_offset = 848;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 844;
+ AOT_Thread_safepoint_state_offset = 856;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 244;
static constexpr dart::compiler::target::word
@@ -18568,7 +18752,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 76;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 804;
+ AOT_Thread_suspend_state_await_entry_point_offset = 804;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 800;
static constexpr dart::compiler::target::word
@@ -18576,7 +18760,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 812;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 816;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 816;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 820;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 824;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 828;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 72;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
@@ -18593,14 +18783,14 @@
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 =
- 848;
+ 860;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 852;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 872;
+ AOT_Thread_callback_stack_return_offset = 864;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 880;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 328;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 880;
+ 888;
static constexpr dart::compiler::target::word
AOT_TsanUtils_setjmp_function_offset = 0;
static constexpr dart::compiler::target::word
@@ -19083,8 +19273,8 @@
AOT_SuspendState_error_callback_offset = 40;
static constexpr dart::compiler::target::word
AOT_SuspendState_frame_size_offset = 8;
-static constexpr dart::compiler::target::word AOT_SuspendState_future_offset =
- 24;
+static constexpr dart::compiler::target::word
+ AOT_SuspendState_function_data_offset = 24;
static constexpr dart::compiler::target::word AOT_SuspendState_payload_offset =
48;
static constexpr dart::compiler::target::word AOT_SuspendState_pc_offset = 16;
@@ -19093,9 +19283,9 @@
static constexpr dart::compiler::target::word
AOT_Thread_AllocateArray_entry_point_offset = 736;
static constexpr dart::compiler::target::word
- AOT_Thread_active_exception_offset = 1616;
+ AOT_Thread_active_exception_offset = 1640;
static constexpr dart::compiler::target::word
- AOT_Thread_active_stacktrace_offset = 1624;
+ AOT_Thread_active_stacktrace_offset = 1648;
static constexpr dart::compiler::target::word
AOT_Thread_array_write_barrier_entry_point_offset = 520;
static constexpr dart::compiler::target::word
@@ -19119,7 +19309,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_allocate_object_slow_stub_offset = 376;
static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
- 1696;
+ 1720;
static constexpr dart::compiler::target::word
AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 664;
static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
@@ -19132,13 +19322,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_call_to_runtime_stub_offset = 256;
static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
- 1736;
+ 1760;
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 = 1704;
+ AOT_Thread_double_truncate_round_supported_offset = 1728;
static constexpr dart::compiler::target::word
- AOT_Thread_service_extension_stream_offset = 1744;
+ AOT_Thread_service_extension_stream_offset = 1768;
static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
608;
static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -19155,7 +19345,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_enter_safepoint_stub_offset = 480;
static constexpr dart::compiler::target::word
- AOT_Thread_execution_state_offset = 1656;
+ AOT_Thread_execution_state_offset = 1680;
static constexpr dart::compiler::target::word
AOT_Thread_exit_safepoint_stub_offset = 488;
static constexpr dart::compiler::target::word
@@ -19177,14 +19367,14 @@
static constexpr dart::compiler::target::word
AOT_Thread_float_zerow_address_offset = 728;
static constexpr dart::compiler::target::word
- AOT_Thread_global_object_pool_offset = 1632;
+ AOT_Thread_global_object_pool_offset = 1656;
static constexpr dart::compiler::target::word
AOT_Thread_invoke_dart_code_stub_offset = 248;
static constexpr dart::compiler::target::word
- AOT_Thread_exit_through_ffi_offset = 1688;
+ AOT_Thread_exit_through_ffi_offset = 1712;
static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
static constexpr dart::compiler::target::word AOT_Thread_isolate_group_offset =
- 1752;
+ 1776;
static constexpr dart::compiler::target::word
AOT_Thread_field_table_values_offset = 128;
static constexpr dart::compiler::target::word
@@ -19229,11 +19419,11 @@
static constexpr dart::compiler::target::word
AOT_Thread_predefined_symbols_address_offset = 672;
static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
- 1640;
+ 1664;
static constexpr dart::compiler::target::word
- AOT_Thread_saved_shadow_call_stack_offset = 1648;
+ AOT_Thread_saved_shadow_call_stack_offset = 1672;
static constexpr dart::compiler::target::word
- AOT_Thread_safepoint_state_offset = 1664;
+ AOT_Thread_safepoint_state_offset = 1688;
static constexpr dart::compiler::target::word
AOT_Thread_slow_type_test_stub_offset = 464;
static constexpr dart::compiler::target::word
@@ -19255,7 +19445,7 @@
static constexpr dart::compiler::target::word
AOT_Thread_store_buffer_block_offset = 152;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_await_async_entry_point_offset = 1584;
+ AOT_Thread_suspend_state_await_entry_point_offset = 1584;
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_init_async_entry_point_offset = 1576;
static constexpr dart::compiler::target::word
@@ -19263,7 +19453,13 @@
static constexpr dart::compiler::target::word
AOT_Thread_suspend_state_return_async_not_future_entry_point_offset = 1600;
static constexpr dart::compiler::target::word
- AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1608;
+ AOT_Thread_suspend_state_init_async_star_entry_point_offset = 1608;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_yield_async_star_entry_point_offset = 1616;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_return_async_star_entry_point_offset = 1624;
+static constexpr dart::compiler::target::word
+ AOT_Thread_suspend_state_handle_exception_entry_point_offset = 1632;
static constexpr dart::compiler::target::word
AOT_Thread_top_exit_frame_info_offset = 144;
static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
@@ -19280,14 +19476,14 @@
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 =
- 1672;
+ 1696;
static constexpr dart::compiler::target::word
- AOT_Thread_callback_stack_return_offset = 1680;
-static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1712;
+ AOT_Thread_callback_stack_return_offset = 1704;
+static constexpr dart::compiler::target::word AOT_Thread_random_offset = 1736;
static constexpr dart::compiler::target::word
AOT_Thread_jump_to_frame_entry_point_offset = 632;
static constexpr dart::compiler::target::word AOT_Thread_tsan_utils_offset =
- 1720;
+ 1744;
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 8fa14a3..04aa47b 100644
--- a/runtime/vm/compiler/runtime_offsets_list.h
+++ b/runtime/vm/compiler/runtime_offsets_list.h
@@ -192,7 +192,7 @@
FIELD(SubtypeTestCache, cache_offset) \
FIELD(SuspendState, error_callback_offset) \
FIELD(SuspendState, frame_size_offset) \
- FIELD(SuspendState, future_offset) \
+ FIELD(SuspendState, function_data_offset) \
FIELD(SuspendState, payload_offset) \
FIELD(SuspendState, pc_offset) \
FIELD(SuspendState, then_callback_offset) \
@@ -281,10 +281,13 @@
\
FIELD(Thread, stack_overflow_shared_without_fpu_regs_stub_offset) \
FIELD(Thread, store_buffer_block_offset) \
- FIELD(Thread, suspend_state_await_async_entry_point_offset) \
+ FIELD(Thread, suspend_state_await_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) \
+ FIELD(Thread, suspend_state_init_async_star_entry_point_offset) \
+ FIELD(Thread, suspend_state_yield_async_star_entry_point_offset) \
+ FIELD(Thread, suspend_state_return_async_star_entry_point_offset) \
FIELD(Thread, suspend_state_handle_exception_entry_point_offset) \
FIELD(Thread, top_exit_frame_info_offset) \
FIELD(Thread, top_offset) \
diff --git a/runtime/vm/compiler/stub_code_compiler.cc b/runtime/vm/compiler/stub_code_compiler.cc
index 1049101..5c9fdec 100644
--- a/runtime/vm/compiler/stub_code_compiler.cc
+++ b/runtime/vm/compiler/stub_code_compiler.cc
@@ -1287,7 +1287,7 @@
const Register kTemp = SuspendStubABI::kTempReg;
const Register kFrameSize = SuspendStubABI::kFrameSizeReg;
const Register kSuspendState = SuspendStubABI::kSuspendStateReg;
- const Register kFuture = SuspendStubABI::kFutureReg;
+ const Register kFunctionData = SuspendStubABI::kFunctionDataReg;
const Register kSrcFrame = SuspendStubABI::kSrcFrameReg;
const Register kDstFrame = SuspendStubABI::kDstFrameReg;
Label alloc_slow_case, alloc_done, init_done, old_gen_object, call_await;
@@ -1308,7 +1308,7 @@
__ CompareClassId(kSuspendState, kSuspendStateCid, kTemp);
__ BranchIf(EQUAL, &init_done);
- __ MoveRegister(kFuture, kSuspendState);
+ __ MoveRegister(kFunctionData, kSuspendState);
__ Comment("Allocate SuspendState");
// Check for allocation tracing.
@@ -1361,8 +1361,8 @@
FieldAddress(kSuspendState, target::SuspendState::frame_size_offset()));
__ StoreCompressedIntoObjectNoBarrier(
kSuspendState,
- FieldAddress(kSuspendState, target::SuspendState::future_offset()),
- kFuture);
+ FieldAddress(kSuspendState, target::SuspendState::function_data_offset()),
+ kFunctionData);
{
#if defined(TARGET_ARCH_ARM64) || defined(TARGET_ARCH_RISCV32) || \
@@ -1474,8 +1474,8 @@
__ PushRegister(kFrameSize); // Save frame size.
__ PushObject(NullObject()); // Make space on stack for the return value.
__ SmiTag(kFrameSize);
- __ PushRegister(kFrameSize); // Pass frame size to runtime entry.
- __ PushRegister(kFuture); // Pass future.
+ __ PushRegister(kFrameSize); // Pass frame size to runtime entry.
+ __ PushRegister(kFunctionData); // Pass function data.
__ CallRuntime(kAllocateSuspendStateRuntimeEntry, 2);
__ Drop(2); // Drop arguments
__ PopRegister(kSuspendState); // Get result.
@@ -1502,10 +1502,15 @@
__ Jump(&call_await);
}
-void StubCodeCompiler::GenerateAwaitAsyncStub(Assembler* assembler) {
+void StubCodeCompiler::GenerateAwaitStub(Assembler* assembler) {
+ GenerateSuspendStub(assembler,
+ target::Thread::suspend_state_await_entry_point_offset());
+}
+
+void StubCodeCompiler::GenerateYieldAsyncStarStub(Assembler* assembler) {
GenerateSuspendStub(
assembler,
- target::Thread::suspend_state_await_async_entry_point_offset());
+ target::Thread::suspend_state_yield_async_star_entry_point_offset());
}
void StubCodeCompiler::GenerateInitSuspendableFunctionStub(
@@ -1531,6 +1536,12 @@
assembler, target::Thread::suspend_state_init_async_entry_point_offset());
}
+void StubCodeCompiler::GenerateInitAsyncStarStub(Assembler* assembler) {
+ GenerateInitSuspendableFunctionStub(
+ assembler,
+ target::Thread::suspend_state_init_async_star_entry_point_offset());
+}
+
void StubCodeCompiler::GenerateResumeStub(Assembler* assembler) {
const Register kSuspendState = ResumeStubABI::kSuspendStateReg;
const Register kTemp = ResumeStubABI::kTempReg;
@@ -1674,6 +1685,12 @@
suspend_state_return_async_not_future_entry_point_offset());
}
+void StubCodeCompiler::GenerateReturnAsyncStarStub(Assembler* assembler) {
+ GenerateReturnStub(
+ assembler,
+ target::Thread::suspend_state_return_async_star_entry_point_offset());
+}
+
void StubCodeCompiler::GenerateAsyncExceptionHandlerStub(Assembler* assembler) {
const Register kSuspendState = AsyncExceptionHandlerStubABI::kSuspendStateReg;
ASSERT(kSuspendState != kExceptionObjectReg);
diff --git a/runtime/vm/constants_arm.h b/runtime/vm/constants_arm.h
index 722f126..b63efec 100644
--- a/runtime/vm/constants_arm.h
+++ b/runtime/vm/constants_arm.h
@@ -532,18 +532,18 @@
static const Register kResultReg = R0;
};
-// ABI for SuspendStub (AwaitAsyncStub).
+// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub).
struct SuspendStubABI {
static const Register kArgumentReg = R0;
static const Register kTempReg = R1;
static const Register kFrameSizeReg = R2;
static const Register kSuspendStateReg = R3;
- static const Register kFutureReg = R4;
+ static const Register kFunctionDataReg = R4;
static const Register kSrcFrameReg = R8;
static const Register kDstFrameReg = R9;
};
-// ABI for InitSuspendableFunctionStub (InitAsyncStub).
+// ABI for InitSuspendableFunctionStub (InitAsyncStub, InitAsyncStarStub).
struct InitSuspendableFunctionStubABI {
static const Register kTypeArgsReg = R0;
};
@@ -563,7 +563,8 @@
static const Register kStackTraceReg = R4;
};
-// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub).
+// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub,
+// ReturnAsyncStarStub).
struct ReturnStubABI {
static const Register kSuspendStateReg = R2;
};
diff --git a/runtime/vm/constants_arm64.h b/runtime/vm/constants_arm64.h
index da0c132..8ec2b3e 100644
--- a/runtime/vm/constants_arm64.h
+++ b/runtime/vm/constants_arm64.h
@@ -366,18 +366,18 @@
static const Register kResultReg = R0;
};
-// ABI for SuspendStub (AwaitAsyncStub).
+// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub).
struct SuspendStubABI {
static const Register kArgumentReg = R0;
static const Register kTempReg = R1;
static const Register kFrameSizeReg = R2;
static const Register kSuspendStateReg = R3;
- static const Register kFutureReg = R4;
+ static const Register kFunctionDataReg = R4;
static const Register kSrcFrameReg = R5;
static const Register kDstFrameReg = R6;
};
-// ABI for InitSuspendableFunctionStub (InitAsyncStub).
+// ABI for InitSuspendableFunctionStub (InitAsyncStub, InitAsyncStarStub).
struct InitSuspendableFunctionStubABI {
static const Register kTypeArgsReg = R0;
};
@@ -397,7 +397,8 @@
static const Register kStackTraceReg = R4;
};
-// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub).
+// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub,
+// ReturnAsyncStarStub).
struct ReturnStubABI {
static const Register kSuspendStateReg = R2;
};
diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
index 2fa9890..1169aa4 100644
--- a/runtime/vm/constants_ia32.h
+++ b/runtime/vm/constants_ia32.h
@@ -260,16 +260,16 @@
static const Register kResultReg = EAX;
};
-// ABI for SuspendStub (AwaitAsyncStub).
+// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub).
struct SuspendStubABI {
static const Register kArgumentReg = EAX;
static const Register kTempReg = EDX;
static const Register kFrameSizeReg = ECX;
static const Register kSuspendStateReg = EBX;
- static const Register kFutureReg = EDI;
+ static const Register kFunctionDataReg = EDI;
// Can reuse THR.
static const Register kSrcFrameReg = ESI;
- // Can reuse kFutureReg.
+ // Can reuse kFunctionDataReg.
static const Register kDstFrameReg = EDI;
// Number of bytes to skip after
@@ -278,7 +278,7 @@
static const intptr_t kResumePcDistance = 5;
};
-// ABI for InitSuspendableFunctionStub (InitAsyncStub).
+// ABI for InitSuspendableFunctionStub (InitAsyncStub, InitAsyncStarStub).
struct InitSuspendableFunctionStubABI {
static const Register kTypeArgsReg = EAX;
};
@@ -298,7 +298,8 @@
static const Register kStackTraceReg = EDI;
};
-// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub).
+// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub,
+// ReturnAsyncStarStub).
struct ReturnStubABI {
static const Register kSuspendStateReg = EBX;
};
diff --git a/runtime/vm/constants_riscv.h b/runtime/vm/constants_riscv.h
index 8d7a085..4fb57fc 100644
--- a/runtime/vm/constants_riscv.h
+++ b/runtime/vm/constants_riscv.h
@@ -378,18 +378,18 @@
static constexpr Register kResultReg = A0;
};
-// ABI for SuspendStub (AwaitAsyncStub).
+// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub).
struct SuspendStubABI {
static const Register kArgumentReg = A0;
static const Register kTempReg = T0;
static const Register kFrameSizeReg = T1;
static const Register kSuspendStateReg = T2;
- static const Register kFutureReg = T3;
+ static const Register kFunctionDataReg = T3;
static const Register kSrcFrameReg = T4;
static const Register kDstFrameReg = T5;
};
-// ABI for InitSuspendableFunctionStub (InitAsyncStub).
+// ABI for InitSuspendableFunctionStub (InitAsyncStub, InitAsyncStarStub).
struct InitSuspendableFunctionStubABI {
static const Register kTypeArgsReg = A0;
};
@@ -409,7 +409,8 @@
static const Register kStackTraceReg = T4;
};
-// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub).
+// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub,
+// ReturnAsyncStarStub).
struct ReturnStubABI {
static const Register kSuspendStateReg = T1;
};
diff --git a/runtime/vm/constants_x64.h b/runtime/vm/constants_x64.h
index 1f22126..51828ea 100644
--- a/runtime/vm/constants_x64.h
+++ b/runtime/vm/constants_x64.h
@@ -335,13 +335,13 @@
static const Register kResultReg = RAX;
};
-// ABI for SuspendStub (AwaitAsyncStub).
+// ABI for SuspendStub (AwaitStub, YieldAsyncStarStub).
struct SuspendStubABI {
static const Register kArgumentReg = RAX;
static const Register kTempReg = RDX;
static const Register kFrameSizeReg = RCX;
static const Register kSuspendStateReg = RBX;
- static const Register kFutureReg = R8;
+ static const Register kFunctionDataReg = R8;
static const Register kSrcFrameReg = RSI;
static const Register kDstFrameReg = RDI;
@@ -351,7 +351,7 @@
static const intptr_t kResumePcDistance = 5;
};
-// ABI for InitSuspendableFunctionStub (InitAsyncStub).
+// ABI for InitSuspendableFunctionStub (InitAsyncStub, InitAsyncStarStub).
struct InitSuspendableFunctionStubABI {
static const Register kTypeArgsReg = RAX;
};
@@ -371,7 +371,8 @@
static const Register kStackTraceReg = RDI;
};
-// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub).
+// ABI for ReturnStub (ReturnAsyncStub, ReturnAsyncNotFutureStub,
+// ReturnAsyncStarStub).
struct ReturnStubABI {
static const Register kSuspendStateReg = RBX;
};
diff --git a/runtime/vm/kernel.h b/runtime/vm/kernel.h
index d9b9ddf..bb496ef 100644
--- a/runtime/vm/kernel.h
+++ b/runtime/vm/kernel.h
@@ -56,8 +56,6 @@
int value_;
};
-const uint8_t kNativeYieldFlags = 0x2;
-
enum LogicalOperator { kAnd, kOr };
struct ProgramBinary {
diff --git a/runtime/vm/kernel_binary.h b/runtime/vm/kernel_binary.h
index 6d7b33e..08d9da7 100644
--- a/runtime/vm/kernel_binary.h
+++ b/runtime/vm/kernel_binary.h
@@ -213,6 +213,12 @@
};
// Keep in sync with package:kernel/lib/ast.dart
+enum YieldStatementFlags {
+ kYieldStatementFlagYieldStar = 1 << 0,
+ kYieldStatementFlagNative = 1 << 1,
+};
+
+// Keep in sync with package:kernel/lib/ast.dart
enum class NamedTypeFlags : uint8_t {
kIsRequired = 1 << 0,
};
diff --git a/runtime/vm/kernel_loader.cc b/runtime/vm/kernel_loader.cc
index 3dcbc81..bab3326 100644
--- a/runtime/vm/kernel_loader.cc
+++ b/runtime/vm/kernel_loader.cc
@@ -2039,6 +2039,16 @@
function.set_is_inlinable(false);
function.set_is_visible(true);
ASSERT(function.IsCompactAsyncFunction());
+ } else if (function_node_helper.async_marker_ ==
+ FunctionNodeHelper::kAsyncStar) {
+ if (!FLAG_precompiled_mode) {
+ FATAL("Compact async* functions are only supported in AOT mode.");
+ }
+ function.set_modifier(UntaggedFunction::kAsyncGen);
+ function.set_is_debuggable(true);
+ function.set_is_inlinable(false);
+ function.set_is_visible(true);
+ ASSERT(function.IsCompactAsyncStarFunction());
} else {
ASSERT(function_node_helper.async_marker_ == FunctionNodeHelper::kSync);
function.set_is_debuggable(function_node_helper.dart_async_marker_ ==
@@ -2063,6 +2073,7 @@
break;
}
ASSERT(!function.IsCompactAsyncFunction());
+ ASSERT(!function.IsCompactAsyncStarFunction());
}
if (!native_name.IsNull()) {
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index a9fffe2..da4f734 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -26036,7 +26036,7 @@
"symbolize stack traces in the precompiled runtime.");
SuspendStatePtr SuspendState::New(intptr_t frame_size,
- const Instance& future,
+ const Instance& function_data,
Heap::Space space) {
SuspendState& result = SuspendState::Handle();
{
@@ -26047,7 +26047,7 @@
result ^= raw;
result.set_frame_size(frame_size);
result.set_pc(0);
- result.set_future(future);
+ result.set_function_data(function_data);
}
return result.ptr();
}
@@ -26061,8 +26061,8 @@
StoreNonPointer(&untag()->pc_, pc);
}
-void SuspendState::set_future(const Instance& future) const {
- untag()->set_future(future.ptr());
+void SuspendState::set_function_data(const Instance& function_data) const {
+ untag()->set_function_data(function_data.ptr());
}
const char* SuspendState::ToCString() const {
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index bea56ec..b5eaa99 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -3171,7 +3171,7 @@
// Returns true if parameters of this function are copied into the frame
// in the function prologue.
bool MakesCopyOfParameters() const {
- return HasOptionalParameters() || IsCompactAsyncFunction();
+ return HasOptionalParameters() || IsSuspendableFunction();
}
#if defined(DART_PRECOMPILED_RUNTIME)
@@ -3570,12 +3570,25 @@
return modifier() == UntaggedFunction::kAsync;
}
- // TODO(alexmarkov): replace this predicate with IsAsyncFunction() after
- // old async functions are removed.
+ // TODO(dartbug.com/48378): replace this predicate with IsAsyncFunction()
+ // after old async functions are removed.
bool IsCompactAsyncFunction() const {
return IsAsyncFunction() && is_debuggable();
}
+ // TODO(dartbug.com/48378): replace this predicate with IsAsyncGenerator()
+ // after old async* functions are removed.
+ bool IsCompactAsyncStarFunction() const {
+ return IsAsyncGenerator() && is_debuggable();
+ }
+
+ // Returns true for functions which execution can be suspended
+ // using Suspend/Resume stubs. Such functions have an artificial
+ // :suspend_state local variable at the fixed location of the frame.
+ bool IsSuspendableFunction() const {
+ return IsCompactAsyncFunction() || IsCompactAsyncStarFunction();
+ }
+
// Recognise synthetic sync-yielding functions like the inner-most:
// user_func /* was async */ {
// :async_op(..) yielding {
@@ -11804,8 +11817,8 @@
return OFFSET_OF(UntaggedSuspendState, frame_size_);
}
static intptr_t pc_offset() { return OFFSET_OF(UntaggedSuspendState, pc_); }
- static intptr_t future_offset() {
- return OFFSET_OF(UntaggedSuspendState, future_);
+ static intptr_t function_data_offset() {
+ return OFFSET_OF(UntaggedSuspendState, function_data_);
}
static intptr_t then_callback_offset() {
return OFFSET_OF(UntaggedSuspendState, then_callback_);
@@ -11818,10 +11831,10 @@
}
static SuspendStatePtr New(intptr_t frame_size,
- const Instance& future,
+ const Instance& function_data,
Heap::Space space = Heap::kNew);
- InstancePtr future() const { return untag()->future(); }
+ InstancePtr function_data() const { return untag()->function_data(); }
uword pc() const { return untag()->pc_; }
// Returns Code object corresponding to the suspended function.
@@ -11830,7 +11843,7 @@
private:
void set_frame_size(intptr_t frame_size) const;
void set_pc(uword pc) const;
- void set_future(const Instance& future) const;
+ void set_function_data(const Instance& function_data) const;
FINAL_HEAP_OBJECT_IMPLEMENTATION(SuspendState, Instance);
friend class Class;
diff --git a/runtime/vm/object_store.cc b/runtime/vm/object_store.cc
index 7cc7f02..f2959f4 100644
--- a/runtime/vm/object_store.cc
+++ b/runtime/vm/object_store.cc
@@ -286,8 +286,17 @@
cls =
async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController());
ASSERT(!cls.IsNull());
+ RELEASE_ASSERT(cls.EnsureIsFinalized(thread) == Error::null());
set_async_star_stream_controller(cls);
+ function = cls.LookupFunctionAllowPrivate(Symbols::add());
+ ASSERT(!function.IsNull());
+ set_async_star_stream_controller_add(function);
+
+ function = cls.LookupFunctionAllowPrivate(Symbols::addStream());
+ ASSERT(!function.IsNull());
+ set_async_star_stream_controller_add_stream(function);
+
if (FLAG_async_debugger) {
// Disable debugging and inlining of all functions on the
// _AsyncStarStreamController class.
@@ -301,6 +310,10 @@
}
}
+ cls = async_lib.LookupClassAllowPrivate(Symbols::Stream());
+ ASSERT(!cls.IsNull());
+ set_stream_class(cls);
+
cls = async_lib.LookupClassAllowPrivate(Symbols::_SuspendState());
ASSERT(!cls.IsNull());
const auto& error = cls.EnsureIsFinalized(thread);
@@ -310,9 +323,9 @@
ASSERT(!function.IsNull());
set_suspend_state_init_async(function);
- function = cls.LookupFunctionAllowPrivate(Symbols::_awaitAsync());
+ function = cls.LookupFunctionAllowPrivate(Symbols::_await());
ASSERT(!function.IsNull());
- set_suspend_state_await_async(function);
+ set_suspend_state_await(function);
function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsync());
ASSERT(!function.IsNull());
@@ -322,6 +335,18 @@
ASSERT(!function.IsNull());
set_suspend_state_return_async_not_future(function);
+ function = cls.LookupFunctionAllowPrivate(Symbols::_initAsyncStar());
+ ASSERT(!function.IsNull());
+ set_suspend_state_init_async_star(function);
+
+ function = cls.LookupFunctionAllowPrivate(Symbols::_yieldAsyncStar());
+ ASSERT(!function.IsNull());
+ set_suspend_state_yield_async_star(function);
+
+ function = cls.LookupFunctionAllowPrivate(Symbols::_returnAsyncStar());
+ ASSERT(!function.IsNull());
+ set_suspend_state_return_async_star(function);
+
function = cls.LookupFunctionAllowPrivate(Symbols::_handleException());
ASSERT(!function.IsNull());
set_suspend_state_handle_exception(function);
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h
index ee7844a..674d1b4 100644
--- a/runtime/vm/object_store.h
+++ b/runtime/vm/object_store.h
@@ -165,15 +165,21 @@
RW(Function, simple_instance_of_true_function) \
RW(Function, simple_instance_of_false_function) \
RW(Function, async_star_move_next_helper) \
+ RW(Function, async_star_stream_controller_add) \
+ RW(Function, async_star_stream_controller_add_stream) \
RW(Function, complete_on_async_return) \
RW(Function, complete_with_no_future_on_async_return) \
RW(Function, complete_on_async_error) \
RW(Function, suspend_state_init_async) \
- RW(Function, suspend_state_await_async) \
+ RW(Function, suspend_state_await) \
RW(Function, suspend_state_return_async) \
RW(Function, suspend_state_return_async_not_future) \
+ RW(Function, suspend_state_init_async_star) \
+ RW(Function, suspend_state_yield_async_star) \
+ RW(Function, suspend_state_return_async_star) \
RW(Function, suspend_state_handle_exception) \
RW(Class, async_star_stream_controller) \
+ RW(Class, stream_class) \
ARW_RELAXED(Smi, future_timeout_future_index) \
ARW_RELAXED(Smi, future_wait_future_index) \
RW(CompressedStackMaps, canonicalized_stack_map_entries) \
@@ -244,11 +250,14 @@
RW(Code, type_parameter_tts_stub) \
RW(Code, unreachable_tts_stub) \
RW(Code, slow_tts_stub) \
- RW(Code, await_async_stub) \
+ RW(Code, await_stub) \
RW(Code, init_async_stub) \
RW(Code, resume_stub) \
RW(Code, return_async_stub) \
RW(Code, return_async_not_future_stub) \
+ RW(Code, init_async_star_stub) \
+ RW(Code, yield_async_star_stub) \
+ RW(Code, return_async_star_stub) \
RW(Array, dispatch_table_code_entries) \
RW(GrowableObjectArray, instructions_tables) \
RW(Array, obfuscation_map) \
@@ -324,11 +333,14 @@
DO(init_instance_field_stub, InitInstanceField) \
DO(init_late_instance_field_stub, InitLateInstanceField) \
DO(init_late_final_instance_field_stub, InitLateFinalInstanceField) \
- DO(await_async_stub, AwaitAsync) \
+ DO(await_stub, Await) \
DO(init_async_stub, InitAsync) \
DO(resume_stub, Resume) \
DO(return_async_stub, ReturnAsync) \
DO(return_async_not_future_stub, ReturnAsyncNotFuture) \
+ DO(init_async_star_stub, InitAsyncStar) \
+ DO(yield_async_star_stub, YieldAsyncStar) \
+ DO(return_async_star_stub, ReturnAsyncStar) \
DO(instance_of_stub, InstanceOf)
#define ISOLATE_OBJECT_STORE_FIELD_LIST(R_, RW) \
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index 5677ff9..6b5dab8 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -3292,10 +3292,15 @@
intptr_t frame_size_;
uword pc_;
- COMPRESSED_POINTER_FIELD(InstancePtr, future)
+ // Holds function-specific object which is returned from
+ // SuspendState.init* method.
+ // For async functions: _Future instance.
+ // For async* functions: _AsyncStarStreamController instance.
+ COMPRESSED_POINTER_FIELD(InstancePtr, function_data)
+
COMPRESSED_POINTER_FIELD(ClosurePtr, then_callback)
COMPRESSED_POINTER_FIELD(ClosurePtr, error_callback)
- VISIT_FROM(future)
+ VISIT_FROM(function_data)
VISIT_TO(error_callback)
public:
diff --git a/runtime/vm/raw_object_fields.cc b/runtime/vm/raw_object_fields.cc
index 749e1d2..a7e7a92 100644
--- a/runtime/vm/raw_object_fields.cc
+++ b/runtime/vm/raw_object_fields.cc
@@ -191,7 +191,7 @@
F(RegExp, two_byte_sticky_) \
F(RegExp, external_one_byte_sticky_) \
F(RegExp, external_two_byte_sticky_) \
- F(SuspendState, future_) \
+ F(SuspendState, function_data_) \
F(SuspendState, then_callback_) \
F(SuspendState, error_callback_) \
F(WeakProperty, key_) \
diff --git a/runtime/vm/runtime_entry.cc b/runtime/vm/runtime_entry.cc
index b1b3345..ac9d41a 100644
--- a/runtime/vm/runtime_entry.cc
+++ b/runtime/vm/runtime_entry.cc
@@ -711,13 +711,14 @@
// Allocate a SuspendState object.
// Arg0: frame size.
-// Arg1: future.
+// Arg1: function data.
// Return value: newly allocated object.
DEFINE_RUNTIME_ENTRY(AllocateSuspendState, 2) {
const Smi& frame_size = Smi::CheckedHandle(zone, arguments.ArgAt(0));
- const Instance& future = Instance::CheckedHandle(zone, arguments.ArgAt(1));
+ const Instance& function_data =
+ Instance::CheckedHandle(zone, arguments.ArgAt(1));
const SuspendState& result = SuspendState::Handle(
- zone, SuspendState::New(frame_size.Value(), future,
+ zone, SuspendState::New(frame_size.Value(), function_data,
SpaceForRuntimeAllocation()));
arguments.SetReturn(result);
}
diff --git a/runtime/vm/stack_trace.cc b/runtime/vm/stack_trace.cc
index d172704..a5c7bdd 100644
--- a/runtime/vm/stack_trace.cc
+++ b/runtime/vm/stack_trace.cc
@@ -70,7 +70,7 @@
callback_instance_(Object::Handle(zone)),
future_impl_class(Class::Handle(zone)),
future_listener_class(Class::Handle(zone)),
- async_start_stream_controller_class(Class::Handle(zone)),
+ async_star_stream_controller_class(Class::Handle(zone)),
stream_controller_class(Class::Handle(zone)),
sync_stream_controller_class(Class::Handle(zone)),
controller_subscription_class(Class::Handle(zone)),
@@ -95,9 +95,9 @@
async_lib.LookupClassAllowPrivate(Symbols::_FutureListener());
ASSERT(!future_listener_class.IsNull());
// - async*:
- async_start_stream_controller_class =
+ async_star_stream_controller_class =
async_lib.LookupClassAllowPrivate(Symbols::_AsyncStarStreamController());
- ASSERT(!async_start_stream_controller_class.IsNull());
+ ASSERT(!async_star_stream_controller_class.IsNull());
stream_controller_class =
async_lib.LookupClassAllowPrivate(Symbols::_StreamController());
ASSERT(!stream_controller_class.IsNull());
@@ -130,7 +130,7 @@
ASSERT(!future_listener_result_field.IsNull());
// - async*:
controller_controller_field =
- async_start_stream_controller_class.LookupFieldAllowPrivate(
+ async_star_stream_controller_class.LookupFieldAllowPrivate(
Symbols::controller());
ASSERT(!controller_controller_field.IsNull());
state_field =
@@ -163,14 +163,19 @@
ClosurePtr CallerClosureFinder::FindCallerInAsyncGenClosure(
const Context& receiver_context) {
- // Get the async* _StreamController.
+ // Get the async* _AsyncStarStreamController.
context_entry_ = receiver_context.At(Context::kControllerIndex);
- ASSERT(context_entry_.IsInstance());
- ASSERT(context_entry_.GetClassId() ==
- async_start_stream_controller_class.id());
+ return FindCallerInAsyncStarStreamController(context_entry_);
+}
- const Instance& controller = Instance::Cast(context_entry_);
- controller_ = controller.GetField(controller_controller_field);
+ClosurePtr CallerClosureFinder::FindCallerInAsyncStarStreamController(
+ const Object& async_star_stream_controller) {
+ ASSERT(async_star_stream_controller.IsInstance());
+ ASSERT(async_star_stream_controller.GetClassId() ==
+ async_star_stream_controller_class.id());
+
+ controller_ = Instance::Cast(async_star_stream_controller)
+ .GetField(controller_controller_field);
ASSERT(!controller_.IsNull());
ASSERT(controller_.GetClassId() == sync_stream_controller_class.id());
@@ -269,8 +274,15 @@
ClosurePtr CallerClosureFinder::FindCallerFromSuspendState(
const SuspendState& suspend_state) {
- future_ = suspend_state.future();
- return GetCallerInFutureImpl(future_);
+ context_entry_ = suspend_state.function_data();
+ if (context_entry_.GetClassId() == future_impl_class.id()) {
+ return GetCallerInFutureImpl(context_entry_);
+ } else if (context_entry_.GetClassId() ==
+ async_star_stream_controller_class.id()) {
+ return FindCallerInAsyncStarStreamController(context_entry_);
+ } else {
+ UNREACHABLE();
+ }
}
ClosurePtr CallerClosureFinder::UnwrapAsyncThen(const Closure& closure) {
@@ -289,14 +301,15 @@
bool CallerClosureFinder::IsCompactAsyncCallback(const Function& function) {
parent_function_ = function.parent_function();
- return parent_function_.recognized_kind() ==
- MethodRecognizer::kSuspendState_createAsyncCallbacks;
+ auto kind = parent_function_.recognized_kind();
+ return (kind == MethodRecognizer::kSuspendState_createAsyncCallbacks) ||
+ (kind == MethodRecognizer::kSuspendState_createAsyncStarCallback);
}
SuspendStatePtr CallerClosureFinder::GetSuspendStateFromAsyncCallback(
const Closure& closure) {
ASSERT(IsCompactAsyncCallback(Function::Handle(closure.function())));
- // Async handler only captures the receiver (SuspendState).
+ // Async/async* handler only captures the receiver (SuspendState).
receiver_context_ = closure.context();
RELEASE_ASSERT(receiver_context_.num_variables() == 1);
return SuspendState::RawCast(receiver_context_.At(0));
@@ -469,7 +482,8 @@
return Closure::null();
}
- if (function.IsCompactAsyncFunction()) {
+ if (function.IsCompactAsyncFunction() ||
+ function.IsCompactAsyncStarFunction()) {
auto& suspend_state = Object::Handle(
zone, *reinterpret_cast<ObjectPtr*>(LocalVarAddress(
frame->fp(), runtime_frame_layout.FrameSlotForVariableIndex(
diff --git a/runtime/vm/stack_trace.h b/runtime/vm/stack_trace.h
index bab4fd1..2e33b71 100644
--- a/runtime/vm/stack_trace.h
+++ b/runtime/vm/stack_trace.h
@@ -31,6 +31,12 @@
// Returns either the `onData` or the Future awaiter.
ClosurePtr FindCallerInAsyncGenClosure(const Context& receiver_context);
+ // Find caller closure from an _AsyncStarStreamController instance
+ // corresponding to async* function.
+ // Returns either the `onData` or the Future awaiter.
+ ClosurePtr FindCallerInAsyncStarStreamController(
+ const Object& async_star_stream_controller);
+
// Find caller closure from a function receiver closure.
// For async* functions, async functions, `Future.timeout` and `Future.wait`,
// we can do this by finding and following their awaited Futures.
@@ -40,11 +46,11 @@
ClosurePtr FindCallerFromSuspendState(const SuspendState& suspend_state);
// Returns true if given closure function is a Future callback
- // corresponding to an async function.
+ // corresponding to an async/async* function or async* body callback.
bool IsCompactAsyncCallback(const Function& function);
- // Returns SuspendState from the given Future callback which corresponds
- // to an async function.
+ // Returns SuspendState from the given callback which corresponds
+ // to an async/async* function.
SuspendStatePtr GetSuspendStateFromAsyncCallback(const Closure& closure);
// Finds the awaited Future from an async function receiver closure.
@@ -88,7 +94,7 @@
Class& future_impl_class;
Class& future_listener_class;
- Class& async_start_stream_controller_class;
+ Class& async_star_stream_controller_class;
Class& stream_controller_class;
Class& sync_stream_controller_class;
Class& controller_subscription_class;
diff --git a/runtime/vm/stub_code_list.h b/runtime/vm/stub_code_list.h
index b035700..f9110be 100644
--- a/runtime/vm/stub_code_list.h
+++ b/runtime/vm/stub_code_list.h
@@ -149,11 +149,14 @@
V(InstantiateTypeArgumentsMayShareInstantiatorTA) \
V(InstantiateTypeArgumentsMayShareFunctionTA) \
V(NoSuchMethodDispatcher) \
- V(AwaitAsync) \
+ V(Await) \
V(InitAsync) \
V(Resume) \
V(ReturnAsync) \
V(ReturnAsyncNotFuture) \
+ V(InitAsyncStar) \
+ V(YieldAsyncStar) \
+ V(ReturnAsyncStar) \
V(AsyncExceptionHandler) \
V(UnknownDartCode)
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index 34053dc..7eb6d2d 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -241,6 +241,7 @@
V(SpaceWhereNewLine, " where\n") \
V(StackOverflowError, "StackOverflowError") \
V(StackTraceParameter, ":stack_trace") \
+ V(Stream, "Stream") \
V(StringBase, "_StringBase") \
V(Struct, "Struct") \
V(SubtypeTestCache, "SubtypeTestCache") \
@@ -410,7 +411,7 @@
V(_WeakProperty, "_WeakProperty") \
V(_WeakReferenceImpl, "_WeakReferenceImpl") \
V(_typedDataBase, "_typedDataBase") \
- V(_awaitAsync, "_awaitAsync") \
+ V(_await, "_await") \
V(_classRangeCheck, "_classRangeCheck") \
V(_ensureScheduleImmediate, "_ensureScheduleImmediate") \
V(_future, "_future") \
@@ -420,6 +421,7 @@
V(_handleNativeFinalizerMessage, "_handleNativeFinalizerMessage") \
V(_hasValue, "_hasValue") \
V(_initAsync, "_initAsync") \
+ V(_initAsyncStar, "_initAsyncStar") \
V(_instanceOf, "_instanceOf") \
V(_listGetAt, "_listGetAt") \
V(_listLength, "_listLength") \
@@ -439,6 +441,7 @@
V(_resultOrListeners, "_resultOrListeners") \
V(_returnAsync, "_returnAsync") \
V(_returnAsyncNotFuture, "_returnAsyncNotFuture") \
+ V(_returnAsyncStar, "_returnAsyncStar") \
V(_runExtension, "_runExtension") \
V(_runPendingImmediateCallback, "_runPendingImmediateCallback") \
V(_scanFlags, "_scanFlags") \
@@ -451,6 +454,9 @@
V(_toString, "_toString") \
V(_varData, "_varData") \
V(_wordCharacterMap, "_wordCharacterMap") \
+ V(_yieldAsyncStar, "_yieldAsyncStar") \
+ V(add, "add") \
+ V(addStream, "addStream") \
V(callback, "callback") \
V(capture_length, ":capture_length") \
V(capture_start_index, ":capture_start_index") \
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 32dc3ba..dc5b90b 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -168,9 +168,12 @@
#define CACHED_FUNCTION_ENTRY_POINTS_LIST(V) \
V(suspend_state_init_async) \
- V(suspend_state_await_async) \
+ V(suspend_state_await) \
V(suspend_state_return_async) \
V(suspend_state_return_async_not_future) \
+ V(suspend_state_init_async_star) \
+ V(suspend_state_yield_async_star) \
+ V(suspend_state_return_async_star) \
V(suspend_state_handle_exception)
// This assertion marks places which assume that boolean false immediate
diff --git a/sdk/lib/_internal/vm/lib/async_patch.dart b/sdk/lib/_internal/vm/lib/async_patch.dart
index 27eb7e6..d6f6c74 100644
--- a/sdk/lib/_internal/vm/lib/async_patch.dart
+++ b/sdk/lib/_internal/vm/lib/async_patch.dart
@@ -110,7 +110,7 @@
class _AsyncStarStreamController<T> {
@pragma("vm:entry-point")
StreamController<T> controller;
- Function asyncStarBody;
+ Function? asyncStarBody;
bool isAdding = false;
bool onListenReceived = false;
bool isScheduled = false;
@@ -127,7 +127,7 @@
Stream<T> get stream {
final Stream<T> local = controller.stream;
if (local is _StreamImpl<T>) {
- local._generator = asyncStarBody;
+ local._generator = asyncStarBody!;
}
return local;
}
@@ -137,7 +137,7 @@
isSuspendedAtYield = false;
final bool? argument = continuationArgument;
continuationArgument = null;
- asyncStarBody(argument, null);
+ asyncStarBody!(argument, null);
}
void scheduleGenerator() {
@@ -158,6 +158,7 @@
// controller.add(e);
// suspend;
// if (controller.isCancelled) return;
+ @pragma("vm:entry-point", "call")
bool add(T event) {
if (!onListenReceived) _fatal("yield before stream is listened to");
if (isSuspendedAtYield) _fatal("unexpected yield");
@@ -174,6 +175,7 @@
// Adds the elements of stream into this controller's stream.
// The generator will be scheduled again when all of the
// elements of the added stream have been consumed.
+ @pragma("vm:entry-point", "call")
void addStream(Stream<T> stream) {
if (!onListenReceived) _fatal("yield before stream is listened to");
@@ -327,7 +329,7 @@
@pragma("vm:invisible")
static Object? _initAsync<T>() {
if (_trace) print('_initAsync<$T>');
- return new _Future<T>();
+ return _Future<T>();
}
@pragma("vm:invisible")
@@ -371,14 +373,14 @@
@pragma("vm:entry-point", "call")
@pragma("vm:invisible")
- Object? _awaitAsync(Object? object) {
+ Object? _await(Object? object) {
if (_trace) print('_awaitAsync (object=$object)');
if (_thenCallback == null) {
_createAsyncCallbacks();
}
_awaitHelper(object, unsafeCast<dynamic Function(dynamic)>(_thenCallback),
unsafeCast<dynamic Function(Object, StackTrace)>(_errorCallback));
- return _future;
+ return _functionData;
}
@pragma("vm:entry-point", "call")
@@ -391,7 +393,7 @@
_Future future;
bool isSync = true;
if (suspendState is _SuspendState) {
- future = suspendState._future;
+ future = unsafeCast<_Future>(suspendState._functionData);
} else {
future = unsafeCast<_Future>(suspendState);
isSync = false;
@@ -411,7 +413,7 @@
_Future future;
bool isSync = true;
if (suspendState is _SuspendState) {
- future = suspendState._future;
+ future = unsafeCast<_Future>(suspendState._functionData);
} else {
future = unsafeCast<_Future>(suspendState);
isSync = false;
@@ -422,31 +424,79 @@
@pragma("vm:entry-point", "call")
@pragma("vm:invisible")
- static Future _handleException(
+ static Object? _initAsyncStar<T>() {
+ if (_trace) print('_initAsyncStar<$T>');
+ return _AsyncStarStreamController<T>(null);
+ }
+
+ @pragma("vm:invisible")
+ @pragma("vm:recognized", "other")
+ _createAsyncStarCallback(_AsyncStarStreamController controller) {
+ controller.asyncStarBody = (value, _) {
+ if (_trace) print('asyncStarBody callback (value=$value)');
+ _resume(value, null, null);
+ };
+ }
+
+ @pragma("vm:entry-point", "call")
+ @pragma("vm:invisible")
+ Object? _yieldAsyncStar(Object? object) {
+ final controller = unsafeCast<_AsyncStarStreamController>(_functionData);
+ if (controller.asyncStarBody == null) {
+ _createAsyncStarCallback(controller);
+ return controller.stream;
+ }
+ return null;
+ }
+
+ @pragma("vm:entry-point", "call")
+ @pragma("vm:invisible")
+ static void _returnAsyncStar(Object suspendState, Object? returnValue) {
+ if (_trace) {
+ print('_returnAsyncStar (suspendState=$suspendState, '
+ 'returnValue=$returnValue)');
+ }
+ final controller = unsafeCast<_AsyncStarStreamController>(
+ unsafeCast<_SuspendState>(suspendState)._functionData);
+ controller.close();
+ }
+
+ @pragma("vm:entry-point", "call")
+ @pragma("vm:invisible")
+ static Object? _handleException(
Object suspendState, Object exception, StackTrace stackTrace) {
if (_trace) {
print('_handleException (suspendState=$suspendState, '
'exception=$exception, stackTrace=$stackTrace)');
}
- _Future future;
+ Object? functionData;
bool isSync = true;
if (suspendState is _SuspendState) {
- future = suspendState._future;
+ functionData = suspendState._functionData;
} else {
- future = unsafeCast<_Future>(suspendState);
+ functionData = suspendState;
isSync = false;
}
- _completeOnAsyncError(future, exception, stackTrace, isSync);
- return future;
+ if (functionData is _Future) {
+ // async function.
+ _completeOnAsyncError(functionData, exception, stackTrace, isSync);
+ } else if (functionData is _AsyncStarStreamController) {
+ // async* function.
+ functionData.addError(exception, stackTrace);
+ functionData.close();
+ } else {
+ throw 'Unexpected function data ${functionData.runtimeType} $functionData';
+ }
+ return functionData;
}
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
- external set _future(_Future value);
+ external set _functionData(Object value);
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
- external _Future get _future;
+ external Object get _functionData;
@pragma("vm:recognized", "other")
@pragma("vm:prefer-inline")
@@ -467,5 +517,5 @@
@pragma("vm:recognized", "other")
@pragma("vm:never-inline")
external void _resume(
- dynamic value, Object? exception, StackTrace? stackTrace);
+ Object? value, Object? exception, StackTrace? stackTrace);
}