-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[flutter_tools] Apply --no-causal-async-stacks and --lazy-async-stacks to profile/release builds #49377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if this matters...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If dashes work for other flags, they should also work for these flags.
Description
Fixes #48725