Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 77b3c43

Browse files
mkustermannCommit Queue
authored and
Commit Queue
committed
[dart2wasm] Add flag to enable protobuf-aware tree shaking
This removes around 10% of size of main module of essentials. Change-Id: I7b3c3d313836aa80990fcdf3ea44702c8b74f1bd Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462141 Reviewed-by: Ömer Ağacan <omersa@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
1 parent c97e255 commit 77b3c43

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

‎pkg/dart2wasm/lib/compile.dart‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,8 @@ Future<CompilationResult> _runTfaPhase(
477477
// Keep the flags in-sync with
478478
// pkg/vm/test/transformations/type_flow/transformer_test.dart
479479
globalTypeFlow.transformComponent(target, coreTypes, component,
480-
useRapidTypeAnalysis: true);
480+
useRapidTypeAnalysis: true,
481+
treeShakeProtobufs: options.translatorOptions.enableProtobufTreeShaker);
481482

482483
// TFA may have tree shaken members that are in the library index cache.
483484
// To avoid having dangling references in the index, we create a new one.

‎pkg/dart2wasm/lib/dart2wasm.dart‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ final List<Option> options = [
5959
Flag("verify-type-checks",
6060
(o, value) => o.translatorOptions.verifyTypeChecks = value,
6161
defaultsTo: _d.translatorOptions.verifyTypeChecks),
62+
Flag('enable-protobuf-tree-shaker',
63+
(o, value) => o.translatorOptions.enableProtobufTreeShaker = value,
64+
defaultsTo: _d.translatorOptions.enableProtobufTreeShaker),
6265
Flag("enable-experimental-wasm-interop",
6366
(o, value) => o.translatorOptions.enableExperimentalWasmInterop = value,
6467
defaultsTo: _d.translatorOptions.enableExperimentalWasmInterop),

‎pkg/dart2wasm/lib/translator.dart‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class TranslatorOptions {
6060
bool generateSourceMaps = true;
6161
bool enableDeferredLoading = false;
6262
bool enableMultiModuleStressTestMode = false;
63+
bool enableProtobufTreeShaker = false;
6364
int inliningLimit = 0;
6465
int? sharedMemoryMaxPages;
6566
bool requireJsStringBuiltin = false;
@@ -84,6 +85,7 @@ class TranslatorOptions {
8485
sink.writeBool(generateSourceMaps);
8586
sink.writeBool(enableDeferredLoading);
8687
sink.writeBool(enableMultiModuleStressTestMode);
88+
sink.writeBool(enableProtobufTreeShaker);
8789
sink.writeInt(inliningLimit);
8890
sink.writeInt(
8991
sharedMemoryMaxPages == null ? 0 : (sharedMemoryMaxPages! + 1));
@@ -109,6 +111,7 @@ class TranslatorOptions {
109111
options.generateSourceMaps = source.readBool();
110112
options.enableDeferredLoading = source.readBool();
111113
options.enableMultiModuleStressTestMode = source.readBool();
114+
options.enableProtobufTreeShaker = source.readBool();
112115
options.inliningLimit = source.readInt();
113116
final int sharedMemoryMaxPages = source.readInt();
114117
options.sharedMemoryMaxPages =

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /