-
Notifications
You must be signed in to change notification settings - Fork 26.8k
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
Use dart compile wasm
for wasm compilations
#143298
Conversation
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact "@test-exemption-reviewer" in the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
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.
LGTM, but @eyebrowsoffire should review, too
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.
Looks good to me! Eventually I will probably want to get rid of the --omit-type-checks
flag and just expose the -O
level of the wasm compiler. I assume though that the only differences between -O2
and -O4
at the moment are the type checking?
269cfc9
to
d09a1bd
Compare
Yes please :-) We should align flutter's uses of dart2wasm and dart2js, to also ensure we get fair comparison numbers.
Flutter should simply use the same Yes, right now the difference is type checks, but we may do more alignment between dart2js and dart2wasm in behavior of those flags. |
Roll Flutter from a628814ebd25 to d7867ca7d635 (66 revisions) flutter/flutter@a628814...d7867ca 2024-02-16 engine-flutter-autoroll@skia.org Roll Packages from ef349be to c56c12d (5 revisions) (flutter/flutter#143581) 2024-02-16 tessertaha@gmail.com Update `MaterialStatesController` docs for calling `setState` in a listener (flutter/flutter#143453) 2024-02-16 tessertaha@gmail.com Update `DataTable` docs for disabled `DataRow` ink well (flutter/flutter#143450) 2024-02-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from b7103bc8b374 to dd530f1556df (17 revisions) (flutter/flutter#143565) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from b7103bc8b374 to 7de84271eb65 (flutter/flutter#143564) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from d3c71d78f8ef to df0dc1fc06ca (flutter/flutter#143563) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from bc4dd534a0fa to d3c71d78f8ef (flutter/flutter#143561) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from edb2745e9834 to bc4dd534a0fa (flutter/flutter#143559) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from 15a358bbaf71 to edb2745e9834 (flutter/flutter#143555) 2024-02-16 jonahwilliams@google.com [devicelab] retain prior events for flutter gallery. (flutter/flutter#143554) 2024-02-16 kustermann@google.com Reland "Disentangle and align flutter build web --wasm flags (#143517)" (flutter/flutter#143549) 2024-02-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3af336bfb2df to 15a358bbaf71 (1 revision) (flutter/flutter#143428) 2024-02-15 barpac02@gmail.com Android Gradle file templates: make it easier to convert them to Kotlin DSL in the future (flutter/flutter#142146) 2024-02-15 godofredoc@google.com Remove bringup from win arm64 builds. (flutter/flutter#143548) 2024-02-15 jawscout@gmail.com Fix minor spelling error (flutter/flutter#143541) 2024-02-15 jonahwilliams@google.com [devicelab] migrate new gallery benchmarks to local copy. (flutter/flutter#143545) 2024-02-15 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.24.1 to 3.24.3 (flutter/flutter#143546) 2024-02-15 danny@tuppeny.com [flutter_tool] [dap] Forward Flutter progress events to DAP client (flutter/flutter#142524) 2024-02-15 matanlurey@users.noreply.github.com Swap the tasks that have been running fine for a while. (flutter/flutter#143544) 2024-02-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Disentangle and align `flutter build web --wasm` flags (#143517)" (flutter/flutter#143547) 2024-02-15 katelovett@google.com Reland simulatedAccessibilityTraversal fix (flutter/flutter#143527) 2024-02-15 kustermann@google.com Disentangle and align `flutter build web --wasm` flags (flutter/flutter#143517) 2024-02-15 jonahwilliams@google.com [devicelab] introduce new old gallery. (flutter/flutter#143486) 2024-02-15 godofredoc@google.com Remove certs dependency. (flutter/flutter#143495) 2024-02-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Fix and test SemanticsController.simulatedAccessibilityTraversal (#143386)" (flutter/flutter#143523) 2024-02-15 engine-flutter-autoroll@skia.org Roll Packages from a864254 to ef349be (9 revisions) (flutter/flutter#143521) 2024-02-15 u.hossein@yahoo.com Modify `plugin_ffi` and `package_ffi` template (flutter/flutter#143376) 2024-02-15 godofredoc@google.com Remove certs installation from win_arm builds. (flutter/flutter#143487) 2024-02-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[a11y] Add isEnabled semantics flag to text field (#143334)" (flutter/flutter#143494) 2024-02-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[a11y] Fix date picker cannot focus on the edit field (#143117)" (flutter/flutter#143493) 2024-02-14 jhy03261997@gmail.com [a11y] Fix date picker cannot focus on the edit field (flutter/flutter#143117) 2024-02-14 goderbauer@google.com cleanup now-irrelevant ignores for `deprecated_member_use` (flutter/flutter#143403) 2024-02-14 katelovett@google.com Fix and test SemanticsController.simulatedAccessibilityTraversal (flutter/flutter#143386) 2024-02-14 goderbauer@google.com Disable deprecation warnings for mega_gallery (flutter/flutter#143466) 2024-02-14 36861262+QuncCccccc@users.noreply.github.com The initial/selected item on popup menu should always be visible (flutter/flutter#143118) 2024-02-14 dacoharkes@google.com Roll native_assets_builder to 0.5.0 (flutter/flutter#143472) 2024-02-14 leroux_bruno@yahoo.fr InputDecorator M3 test migration step2 (flutter/flutter#143369) 2024-02-14 leroux_bruno@yahoo.fr Add more documentation for TextEditingController default constructor (flutter/flutter#143452) 2024-02-14 34871572+gmackall@users.noreply.github.com Format all kotlin according to ktlint (flutter/flutter#143390) 2024-02-14 fluttergithubbot@gmail.com Marks Linux_pixel_7pro integration_ui_keyboard_resize to be unflaky (flutter/flutter#143440) 2024-02-14 engine-flutter-autoroll@skia.org Roll Packages from 9385bbb to a864254 (6 revisions) (flutter/flutter#143454) 2024-02-14 65850618+Anas35@users.noreply.github.com [tools] Add column header for emulators information (flutter/flutter#142853) 2024-02-14 kustermann@google.com Use `dart compile wasm` for wasm compilations (flutter/flutter#143298) 2024-02-14 jonahwilliams@google.com [devicelab] retain first frame data in certain integration tests. (flutter/flutter#143419) 2024-02-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0849250a1419 to 3af336bfb2df (2 revisions) (flutter/flutter#143427) 2024-02-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 215d55f4f82d to 0849250a1419 (2 revisions) (flutter/flutter#143425) ...
…r#6146) Roll Flutter from a628814ebd25 to d7867ca7d635 (66 revisions) flutter/flutter@a628814...d7867ca 2024-02-16 engine-flutter-autoroll@skia.org Roll Packages from ef349be to c56c12d (5 revisions) (flutter/flutter#143581) 2024-02-16 tessertaha@gmail.com Update `MaterialStatesController` docs for calling `setState` in a listener (flutter/flutter#143453) 2024-02-16 tessertaha@gmail.com Update `DataTable` docs for disabled `DataRow` ink well (flutter/flutter#143450) 2024-02-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from b7103bc8b374 to dd530f1556df (17 revisions) (flutter/flutter#143565) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from b7103bc8b374 to 7de84271eb65 (flutter/flutter#143564) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from d3c71d78f8ef to df0dc1fc06ca (flutter/flutter#143563) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from bc4dd534a0fa to d3c71d78f8ef (flutter/flutter#143561) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from edb2745e9834 to bc4dd534a0fa (flutter/flutter#143559) 2024-02-16 jason-simmons@users.noreply.github.com Manual roll Flutter Engine from 15a358bbaf71 to edb2745e9834 (flutter/flutter#143555) 2024-02-16 jonahwilliams@google.com [devicelab] retain prior events for flutter gallery. (flutter/flutter#143554) 2024-02-16 kustermann@google.com Reland "Disentangle and align flutter build web --wasm flags (#143517)" (flutter/flutter#143549) 2024-02-16 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3af336bfb2df to 15a358bbaf71 (1 revision) (flutter/flutter#143428) 2024-02-15 barpac02@gmail.com Android Gradle file templates: make it easier to convert them to Kotlin DSL in the future (flutter/flutter#142146) 2024-02-15 godofredoc@google.com Remove bringup from win arm64 builds. (flutter/flutter#143548) 2024-02-15 jawscout@gmail.com Fix minor spelling error (flutter/flutter#143541) 2024-02-15 jonahwilliams@google.com [devicelab] migrate new gallery benchmarks to local copy. (flutter/flutter#143545) 2024-02-15 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.24.1 to 3.24.3 (flutter/flutter#143546) 2024-02-15 danny@tuppeny.com [flutter_tool] [dap] Forward Flutter progress events to DAP client (flutter/flutter#142524) 2024-02-15 matanlurey@users.noreply.github.com Swap the tasks that have been running fine for a while. (flutter/flutter#143544) 2024-02-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Disentangle and align `flutter build web --wasm` flags (#143517)" (flutter/flutter#143547) 2024-02-15 katelovett@google.com Reland simulatedAccessibilityTraversal fix (flutter/flutter#143527) 2024-02-15 kustermann@google.com Disentangle and align `flutter build web --wasm` flags (flutter/flutter#143517) 2024-02-15 jonahwilliams@google.com [devicelab] introduce new old gallery. (flutter/flutter#143486) 2024-02-15 godofredoc@google.com Remove certs dependency. (flutter/flutter#143495) 2024-02-15 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Fix and test SemanticsController.simulatedAccessibilityTraversal (#143386)" (flutter/flutter#143523) 2024-02-15 engine-flutter-autoroll@skia.org Roll Packages from a864254 to ef349be (9 revisions) (flutter/flutter#143521) 2024-02-15 u.hossein@yahoo.com Modify `plugin_ffi` and `package_ffi` template (flutter/flutter#143376) 2024-02-15 godofredoc@google.com Remove certs installation from win_arm builds. (flutter/flutter#143487) 2024-02-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[a11y] Add isEnabled semantics flag to text field (#143334)" (flutter/flutter#143494) 2024-02-14 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[a11y] Fix date picker cannot focus on the edit field (#143117)" (flutter/flutter#143493) 2024-02-14 jhy03261997@gmail.com [a11y] Fix date picker cannot focus on the edit field (flutter/flutter#143117) 2024-02-14 goderbauer@google.com cleanup now-irrelevant ignores for `deprecated_member_use` (flutter/flutter#143403) 2024-02-14 katelovett@google.com Fix and test SemanticsController.simulatedAccessibilityTraversal (flutter/flutter#143386) 2024-02-14 goderbauer@google.com Disable deprecation warnings for mega_gallery (flutter/flutter#143466) 2024-02-14 36861262+QuncCccccc@users.noreply.github.com The initial/selected item on popup menu should always be visible (flutter/flutter#143118) 2024-02-14 dacoharkes@google.com Roll native_assets_builder to 0.5.0 (flutter/flutter#143472) 2024-02-14 leroux_bruno@yahoo.fr InputDecorator M3 test migration step2 (flutter/flutter#143369) 2024-02-14 leroux_bruno@yahoo.fr Add more documentation for TextEditingController default constructor (flutter/flutter#143452) 2024-02-14 34871572+gmackall@users.noreply.github.com Format all kotlin according to ktlint (flutter/flutter#143390) 2024-02-14 fluttergithubbot@gmail.com Marks Linux_pixel_7pro integration_ui_keyboard_resize to be unflaky (flutter/flutter#143440) 2024-02-14 engine-flutter-autoroll@skia.org Roll Packages from 9385bbb to a864254 (6 revisions) (flutter/flutter#143454) 2024-02-14 65850618+Anas35@users.noreply.github.com [tools] Add column header for emulators information (flutter/flutter#142853) 2024-02-14 kustermann@google.com Use `dart compile wasm` for wasm compilations (flutter/flutter#143298) 2024-02-14 jonahwilliams@google.com [devicelab] retain first frame data in certain integration tests. (flutter/flutter#143419) 2024-02-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 0849250a1419 to 3af336bfb2df (2 revisions) (flutter/flutter#143427) 2024-02-14 engine-flutter-autoroll@skia.org Roll Flutter Engine from 215d55f4f82d to 0849250a1419 (2 revisions) (flutter/flutter#143425) ...
Flags to
dart compile wasm
Some options are not relevant to a standalone user of
dart compile wasm
(e.g. specyfing dart-sdk, platform file etc). => Those aren't offered by thedart compile wasm
tool directly. => We use the--extra-compiler-option=
instead which passes through arbitrary options to the dart2wasm compiler. => We don't maintain compatibility of those options, if we update them we'll ensure to also update flutter toolsBinaryen optimization passes
This change will mean we use the binaryen flags from Dart SDK which are slightly different from the ones in flutter.
Optimization configuration
This change will also start using the more standardized
-O
flag for determining optimization levels. The meaning of those flags have been mostly aligned with dart2js (with some differences remaining).Minimization
Using the new optimization flags, namely
-O4
for--wasm-opt=full
, will automatically enable the new--minify
support. Minification is Dart semantics preserving but changes the<obj>.runtimeType.toString()
to use minified names (just as in dart2js).Code size changes
Overall this change will reduce wonderous code size by around 10%.
Issue dart-lang/sdk#54675