diff --git a/runtime/dart_vm.cc b/runtime/dart_vm.cc index 47d2149dc479054fa8f7bb7875c3a3aca0187456..887cd6ade90ca8fa69638c2da451fd6a1f661ef3 100644 --- a/runtime/dart_vm.cc +++ b/runtime/dart_vm.cc @@ -60,7 +60,8 @@ static const char* kDartLanguageArgs[] = { // clang-format off "--enable_mirrors=false", "--background_compilation", - "--causal_async_stacks", + "--no-causal_async_stacks", + "--lazy_async_stacks", // clang-format on }; diff --git a/shell/common/shell_unittests.cc b/shell/common/shell_unittests.cc index 5f82ee64b5b50798686ec8c3797e2e8d204be683..566459b946dc5fa2caabef7272282626527973c3 100644 --- a/shell/common/shell_unittests.cc +++ b/shell/common/shell_unittests.cc @@ -285,6 +285,7 @@ TEST_F(ShellTest, AllowedDartVMFlag) { const std::vector options = { #if !FLUTTER_RELEASE fml::CommandLine::Option("dart-flags", + "--lazy_async_stacks,--no-causal_async_stacks," "--max_profile_depth 1,--random_seed 42") #endif }; @@ -292,9 +293,11 @@ TEST_F(ShellTest, AllowedDartVMFlag) { flutter::Settings settings = flutter::SettingsFromCommandLine(command_line); #if !FLUTTER_RELEASE - EXPECT_EQ(settings.dart_flags.size(), 2u); - EXPECT_EQ(settings.dart_flags[0], "--max_profile_depth 1"); - EXPECT_EQ(settings.dart_flags[1], "--random_seed 42"); + EXPECT_EQ(settings.dart_flags.size(), 4u); + EXPECT_EQ(settings.dart_flags[0], "--lazy_async_stacks"); + EXPECT_EQ(settings.dart_flags[1], "--no-causal_async_stacks"); + EXPECT_EQ(settings.dart_flags[2], "--max_profile_depth 1"); + EXPECT_EQ(settings.dart_flags[3], "--random_seed 42"); #else EXPECT_EQ(settings.dart_flags.size(), 0u); #endif diff --git a/shell/platform/fuchsia/dart_runner/dart_runner.cc b/shell/platform/fuchsia/dart_runner/dart_runner.cc index a2a8302b0b926487e85e138f327fdd5774466364..34d429bc74d000396f63c3211b36a666e1e0feb8 100644 --- a/shell/platform/fuchsia/dart_runner/dart_runner.cc +++ b/shell/platform/fuchsia/dart_runner/dart_runner.cc @@ -35,9 +35,8 @@ namespace { const char* kDartVMArgs[] = { // clang-format off - // TODO(FL-117): Re-enable causal async stack traces when this issue is - // addressed. "--no_causal_async_stacks", + "--lazy_async_stacks", #if !defined(FLUTTER_PROFILE) "--systrace_timeline", diff --git a/shell/platform/fuchsia/dart_runner/embedder/BUILD.gn b/shell/platform/fuchsia/dart_runner/embedder/BUILD.gn index f47be6957910eda1343db1073ff0a773b98ea73f..6c4173b863ad80a51152cbf0af69076ccd9d0867 100644 --- a/shell/platform/fuchsia/dart_runner/embedder/BUILD.gn +++ b/shell/platform/fuchsia/dart_runner/embedder/BUILD.gn @@ -53,6 +53,7 @@ template("create_aot_snapshot") { args = [ "--no_causal_async_stacks", + "--lazy_async_stacks", "--deterministic", "--snapshot_kind=vm-aot-assembly", "--assembly=" + rebase_path(snapshot_assembly), diff --git a/shell/platform/fuchsia/dart_runner/kernel/BUILD.gn b/shell/platform/fuchsia/dart_runner/kernel/BUILD.gn index ac2cf862760202fae8fd95f807dfd93b1e906c98..6acacfff800ab5035a91a8ae173a6140c0d412f4 100644 --- a/shell/platform/fuchsia/dart_runner/kernel/BUILD.gn +++ b/shell/platform/fuchsia/dart_runner/kernel/BUILD.gn @@ -74,9 +74,8 @@ template("create_kernel_core_snapshot") { tool = gen_snapshot_to_use args = [ - # TODO(FL-117): Re-enable causal async stack traces when this issue is - # addressed. "--no_causal_async_stacks", + "--lazy_async_stacks", "--use_bytecode_compiler", "--enable_mirrors=false", "--deterministic", diff --git a/shell/platform/fuchsia/dart_runner/vmservice/BUILD.gn b/shell/platform/fuchsia/dart_runner/vmservice/BUILD.gn index 53f4cf523e20776eee5b3ff9c17fee8acd19036d..b0c2adc7b65e4bd4c9af002e33b2b9b8e365f494 100644 --- a/shell/platform/fuchsia/dart_runner/vmservice/BUILD.gn +++ b/shell/platform/fuchsia/dart_runner/vmservice/BUILD.gn @@ -64,6 +64,7 @@ template("aot_snapshot") { args = [ "--no_causal_async_stacks", + "--lazy_async_stacks", "--deterministic", "--snapshot_kind=app-aot-elf", "--elf=" + rebase_path(snapshot_path), diff --git a/shell/platform/fuchsia/flutter/component.cc b/shell/platform/fuchsia/flutter/component.cc index 00cd9d318ae835476523c9ac70595d6f0824b88a..19ec91c2a9eebe673e47a5ef760ab1192e740699 100644 --- a/shell/platform/fuchsia/flutter/component.cc +++ b/shell/platform/fuchsia/flutter/component.cc @@ -392,10 +392,6 @@ Application::Application( settings_.task_observer_remove = std::bind( &CurrentMessageLoopRemoveAfterTaskObserver, std::placeholders::_1); - // TODO(FL-117): Re-enable causal async stack traces when this issue is - // addressed. - settings_.dart_flags = {"--no_causal_async_stacks"}; - // Disable code collection as it interferes with JIT code warmup // by decreasing usage counters and flushing code which is still useful. settings_.dart_flags.push_back("--no-collect_code"); diff --git a/shell/platform/fuchsia/flutter/kernel/BUILD.gn b/shell/platform/fuchsia/flutter/kernel/BUILD.gn index e63891ad50fad01590979332ba4c74d7ad807efb..945a07bc47cd50cab7f274a0c271a0a2907b45bf 100644 --- a/shell/platform/fuchsia/flutter/kernel/BUILD.gn +++ b/shell/platform/fuchsia/flutter/kernel/BUILD.gn @@ -78,9 +78,8 @@ template("core_snapshot") { tool = gen_snapshot_to_use args = [ - # TODO(FL-117): Re-enable causal async stack traces when this issue is - # addressed. "--no_causal_async_stacks", + "--lazy_async_stacks", "--use_bytecode_compiler", "--enable_mirrors=false", "--deterministic", diff --git a/testing/scenario_app/compile_ios_jit.sh b/testing/scenario_app/compile_ios_jit.sh index 6b3f25c3359b501ffcdde39024549ebf45f6d529..c3c2400f571c92db97faee9b54ba38026f2e7ffb 100755 --- a/testing/scenario_app/compile_ios_jit.sh +++ b/testing/scenario_app/compile_ios_jit.sh @@ -48,7 +48,8 @@ echo "Compiling JIT Snapshot..." "$DEVICE_TOOLS/gen_snapshot" --deterministic \ --enable-asserts \ - --causal_async_stacks \ + --no-causal_async_stacks \ + --lazy_async_stacks \ --isolate_snapshot_instructions="$OUTDIR/isolate_snapshot_instr" \ --snapshot_kind=app-jit \ --load_vm_snapshot_data="$DEVICE_TOOLS/../gen/flutter/lib/snapshot/vm_isolate_snapshot.bin" \ diff --git a/testing/testing.gni b/testing/testing.gni index 21d69ed4da3d90c4a765047aab2a70a6e3cd1e18..917b0414979de015ac95e6bcb147350ca00621e3 100644 --- a/testing/testing.gni +++ b/testing/testing.gni @@ -138,7 +138,8 @@ template("dart_snapshot_aot") { ] args = [ - "--causal_async_stacks", + "--no-causal_async_stacks", + "--lazy_async_stacks", "--deterministic", "--snapshot_kind=app-aot-elf", "--elf=" + rebase_path(elf_object),