diff --git a/pkg/dart2wasm/lib/code_generator.dart b/pkg/dart2wasm/lib/code_generator.dart index 538ac9d7d1b..f9559447d98 100644 --- a/pkg/dart2wasm/lib/code_generator.dart +++ b/pkg/dart2wasm/lib/code_generator.dart @@ -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. // diff --git a/pkg/dart2wasm/lib/kernel_nodes.dart b/pkg/dart2wasm/lib/kernel_nodes.dart index 61c3f615087..e9455eacae3 100644 --- a/pkg/dart2wasm/lib/kernel_nodes.dart +++ b/pkg/dart2wasm/lib/kernel_nodes.dart @@ -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'); diff --git a/pkg/dartdev/lib/src/commands/compile.dart b/pkg/dartdev/lib/src/commands/compile.dart index 4b32c907b64..b34bf8ac90b 100644 --- a/pkg/dartdev/lib/src/commands/compile.dart +++ b/pkg/dartdev/lib/src/commands/compile.dart @@ -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',