[flutter_tools] Apply --no-causal-async-stacks and --lazy-async-stacks to profile/release builds#49377
Conversation
|
Based on my current understanding of the breaking change policy, this is not a breaking change. |
zanderso
left a comment
There was a problem hiding this comment.
Did you spot-check some device lab tests?
| // Optimization arguments. | ||
| genSnapshotArgs.addAll(<String>[ | ||
| // Faster async/await | ||
| '--no-causal-async-stacks', |
There was a problem hiding this comment.
We should also update the flags to gen_snapshot in fuchsia/fuchsia_build.dart and dart_component.gni in the Fuchsia tree to ensure we're doing the same thing everywhere. @iskakaushik
| '--incremental', | ||
| '--target=$targetModel', | ||
| '-Ddart.developer.causal_async_stacks=$causalAsyncStacks', | ||
| '-Ddart.developer.causal_async_stacks=${buildMode == BuildMode.debug}', |
There was a problem hiding this comment.
This leads me to notice that we need to unify the flags used here with the flags used in fuchsia_kernel_compiler.dart either by keeping them in sync manually or by eliminating fuchsia_kernel_compiler.dart by merging its functionality into this file.
There was a problem hiding this comment.
It looks like the kernel_compiler and frontend_server support a slightly different set of flags and have slightly different output behavior. Is there any reason we can't standardize on the frontend_server instead?
There was a problem hiding this comment.
Ahh right. Functionality of the Fuchsia kernel compiler would need to be integrated into the frontend_server, so there's probably not much we can do right now other than manually try to keep the flags in-sync where possible.
|
@zanderso no I haven't checked any. I'm not aware of any stack trace parsing tests |
|
There is a stacktrace parsing test in topaz that i'm aware of, i've notified the owner to watch out for changes: fxb/44622, we might need to do a manual roll. |
|
This would only effect "release/profile" mode stack traces, so depending on how that test is running it might not be bothered |
|
Looks like gen_snapshot invocation for fuchsia already had --no-causal-async-stacks applied |
…er into apply_stack_dropping
|
|
||
| final List<String> command = <String>[ | ||
| genSnapshot, | ||
| '--no_causal_async_stacks', |
There was a problem hiding this comment.
I'm not sure if this matters...
There was a problem hiding this comment.
If dashes work for other flags, they should also work for these flags.
Description
Fixes #48725