-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reland "[dart2wasm] Do not assign class ids to anonymous mixin classes."
No changes from original CL. Refactoring in [0] will make us no longer trigger a bug with this CL where a target that is only reachable via super calls got the wrong representation. [0] https://dart-review.googlesource.com/c/sdk/+/375280 Issue flutter/flutter#151473 Original CL description: Anonymous mixin application classes get created as a desguaring of mixin applications. For example this mixin M { <M-body> } class Base {} class A extends Base with M {} gets desugared into class Base {} abstract class A&Base&M1 extends Base implements M /*isAnonymousMixin*/ { <copy-of-M-body> } class A extends A&Base&M1 {} Those anonymous mixin application classes are not real classes: They cannot be named in code, cannot be used as type arguments, type literals, type checks etc, => This CL avoids assigning class ids to them. => This will shrink the type name array. => This will shrink RTT information. => This makes other classes get lower ids assigned Size changes of `...opt.wasm` file: * Hello: -5% * FluteComplex: -1.5% Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/374320 Change-Id: I09fdc66ba9c2b5deb998988093e859361124f517 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/375103 Reviewed-by: Slava Egorov <[email protected]> Commit-Queue: Martin Kustermann <[email protected]>
- Loading branch information
1 parent
0889fdd
commit 48599f5
Showing
3 changed files
with
94 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters