diff --git a/pkg/dart2wasm/lib/compile.dart b/pkg/dart2wasm/lib/compile.dart index 0b4456e9db9..f05e8e462c4 100644 --- a/pkg/dart2wasm/lib/compile.dart +++ b/pkg/dart2wasm/lib/compile.dart @@ -166,7 +166,6 @@ const List _binaryenFlags = [ '--enable-bulk-memory', '--enable-threads', '--enable-simd', - '--no-inline=**', '--closed-world', '--traps-never-happen', '--type-unfinalizing', @@ -190,7 +189,6 @@ const List _binaryenFlagsMultiModule = [ '--enable-bulk-memory', '--enable-threads', '--enable-simd', - '--no-inline=**', '--traps-never-happen', '-Os', '-Os', @@ -718,15 +716,18 @@ Future _runOptPhase( : options.maxActiveWasmOptProcesses, ); + final wasmOptFlags = [ + ...(options.useMultiModuleOpt ? _binaryenFlagsMultiModule : _binaryenFlags), + if (options.stripToolchainAnnotations) '--strip-toolchain-annotations', + ]; + await Future.wait([ for (final moduleId in moduleIdsToOptimize) optPool.withResource(() async { await ioManager.runWasmOpt( codegenResult.mainWasmFile, moduleId, - options.useMultiModuleOpt - ? _binaryenFlagsMultiModule - : _binaryenFlags, + wasmOptFlags, ); }), ]); diff --git a/pkg/dart2wasm/lib/compiler_options.dart b/pkg/dart2wasm/lib/compiler_options.dart index e92c61a0044..2ac9451e62d 100644 --- a/pkg/dart2wasm/lib/compiler_options.dart +++ b/pkg/dart2wasm/lib/compiler_options.dart @@ -55,6 +55,7 @@ class WasmCompilerOptions { String? dumpKernelAfterTfa; bool dryRun = false; Uri? wasmOptPath; + bool stripToolchainAnnotations = true; int maxActiveWasmOptProcesses = _defaultMaxActiveWasmOptProcesses(); bool saveUnopt = false; Set moduleIdsToOptimize = const {}; diff --git a/pkg/dart2wasm/lib/dart2wasm.dart b/pkg/dart2wasm/lib/dart2wasm.dart index 93b0779bb47..6b542ee6cb6 100644 --- a/pkg/dart2wasm/lib/dart2wasm.dart +++ b/pkg/dart2wasm/lib/dart2wasm.dart @@ -201,6 +201,12 @@ final List