• Martin Kustermann's avatar
    Use `dart compile wasm` for wasm compilations (#143298) · abadf9ff
    Martin Kustermann authored
    * 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 the `dart 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
    tools
    
    * Binaryen 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 https://github.com/dart-lang/sdk/issues/54675
    abadf9ff
web.dart 20.7 KB