Skip to content

Commit 72e3f7a

Browse files
mkustermannCommit Queue
authored andcommitted
[dart2wasm] Fix web/wasm/flute_stress_test in SDK mode
Currently `web/wasm/flute_stress_test` is failing on `dart2wasm-linux-optimized-jsc` mode. That mode runs with `--use-sdk` which makes it use `dart compile wasm`. The reason the test is failing is because it passes both `--enable-deferred-loading` and `--multi-module-stress-test` flags to dart2wasm. This causes us to trigger the deferred module flow instead of the specialized multi-module flow. Those two flags should be independent. Change-Id: I8cac976cd91d4e585f38632ada3062e41fce401f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/458800 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com>
1 parent 4fb4319 commit 72e3f7a

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

pkg/dart2wasm/lib/code_generator.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2812,7 +2812,10 @@ abstract class AstCodeGenerator
28122812
}
28132813

28142814
w.ModuleBuilder? _recognizeDeferredModuleGuard(Let let) {
2815-
if (!translator.options.enableDeferredLoading) return null;
2815+
if (!translator.options.enableDeferredLoading &&
2816+
!translator.options.enableMultiModuleStressTestMode) {
2817+
return null;
2818+
}
28162819

28172820
// TODO(http://dartbug.com/61764): Find better way to do this.
28182821
//

pkg/dart2wasm/lib/kernel_nodes.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -437,9 +437,7 @@ mixin KernelNodes {
437437
index.getTopLevelField('dart:_internal', 'boxedIntImmutableArray');
438438

439439
// Deferred loading.
440-
late final Procedure? loadLibraryFromLoadId = index.tryGetProcedure(
441-
'dart:_internal', LibraryIndex.topLevel, 'loadLibraryFromLoadId');
442-
late final Procedure? checkLibraryIsLoadedFromLoadId = index
440+
late final Procedure checkLibraryIsLoadedFromLoadId = index
443441
.getTopLevelProcedure('dart:_internal', 'checkLibraryIsLoadedFromLoadId');
444442
late final Procedure? dartInternalLoadingMapGetter = index.tryGetProcedure(
445443
'dart:_internal', LibraryIndex.topLevel, 'get:_loadingMap');

pkg/dartdev/lib/src/commands/compile.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -964,10 +964,11 @@ class CompileWasmCommand extends CompileSubcommandCommand {
964964
}
965965
}
966966

967-
final isMultiModule = args.flag('enable-deferred-loading') ||
968-
// Used in testing to force multiple modules.
969-
extraCompilerOptions
970-
.any((e) => e.contains('enable-multi-module-stress-test'));
967+
final isDeferredLoading = args.flag('enable-deferred-loading');
968+
// Used in testing to force multiple modules.
969+
final isMultiStressTestMode = extraCompilerOptions
970+
.any((e) => e.contains('enable-multi-module-stress-test'));
971+
final isMultiModule = isDeferredLoading || isMultiStressTestMode;
971972
final optimizationLevel = int.parse(args.option('optimization-level')!);
972973

973974
final runWasmOpt =
@@ -1012,7 +1013,7 @@ class CompileWasmCommand extends CompileSubcommandCommand {
10121013
if (args.flag('print-kernel')) '--print-kernel',
10131014
if (args.flag(enableAssertsOption.flag)) '--${enableAssertsOption.flag}',
10141015
if (!generateSourceMap) '--no-source-maps',
1015-
if (isMultiModule) '--enable-deferred-loading',
1016+
if (isDeferredLoading) '--enable-deferred-loading',
10161017
for (final define in defines) '-D$define',
10171018
if (maxPages != null) ...[
10181019
'--import-shared-memory',

0 commit comments

Comments
 (0)