[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>
This commit is contained in:
committed by
Commit Queue
parent
4fb4319980
commit
72e3f7a0d4
@@ -2812,7 +2812,10 @@ abstract class AstCodeGenerator
|
||||
}
|
||||
|
||||
w.ModuleBuilder? _recognizeDeferredModuleGuard(Let let) {
|
||||
if (!translator.options.enableDeferredLoading) return null;
|
||||
if (!translator.options.enableDeferredLoading &&
|
||||
!translator.options.enableMultiModuleStressTestMode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// TODO(http://dartbug.com/61764): Find better way to do this.
|
||||
//
|
||||
|
||||
@@ -437,9 +437,7 @@ mixin KernelNodes {
|
||||
index.getTopLevelField('dart:_internal', 'boxedIntImmutableArray');
|
||||
|
||||
// Deferred loading.
|
||||
late final Procedure? loadLibraryFromLoadId = index.tryGetProcedure(
|
||||
'dart:_internal', LibraryIndex.topLevel, 'loadLibraryFromLoadId');
|
||||
late final Procedure? checkLibraryIsLoadedFromLoadId = index
|
||||
late final Procedure checkLibraryIsLoadedFromLoadId = index
|
||||
.getTopLevelProcedure('dart:_internal', 'checkLibraryIsLoadedFromLoadId');
|
||||
late final Procedure? dartInternalLoadingMapGetter = index.tryGetProcedure(
|
||||
'dart:_internal', LibraryIndex.topLevel, 'get:_loadingMap');
|
||||
|
||||
@@ -964,10 +964,11 @@ class CompileWasmCommand extends CompileSubcommandCommand {
|
||||
}
|
||||
}
|
||||
|
||||
final isMultiModule = args.flag('enable-deferred-loading') ||
|
||||
// Used in testing to force multiple modules.
|
||||
extraCompilerOptions
|
||||
.any((e) => e.contains('enable-multi-module-stress-test'));
|
||||
final isDeferredLoading = args.flag('enable-deferred-loading');
|
||||
// Used in testing to force multiple modules.
|
||||
final isMultiStressTestMode = extraCompilerOptions
|
||||
.any((e) => e.contains('enable-multi-module-stress-test'));
|
||||
final isMultiModule = isDeferredLoading || isMultiStressTestMode;
|
||||
final optimizationLevel = int.parse(args.option('optimization-level')!);
|
||||
|
||||
final runWasmOpt =
|
||||
@@ -1012,7 +1013,7 @@ class CompileWasmCommand extends CompileSubcommandCommand {
|
||||
if (args.flag('print-kernel')) '--print-kernel',
|
||||
if (args.flag(enableAssertsOption.flag)) '--${enableAssertsOption.flag}',
|
||||
if (!generateSourceMap) '--no-source-maps',
|
||||
if (isMultiModule) '--enable-deferred-loading',
|
||||
if (isDeferredLoading) '--enable-deferred-loading',
|
||||
for (final define in defines) '-D$define',
|
||||
if (maxPages != null) ...[
|
||||
'--import-shared-memory',
|
||||
|
||||
Reference in New Issue
Block a user