diff --git a/pkg/vm/lib/kernel_front_end.dart b/pkg/vm/lib/kernel_front_end.dart index 3daefd45018..03ffe271b85 100644 --- a/pkg/vm/lib/kernel_front_end.dart +++ b/pkg/vm/lib/kernel_front_end.dart @@ -509,7 +509,7 @@ Future runGlobalTransformations( // it does it will need the obfuscation prohibitions. obfuscationProhibitions.transformComponent(component, coreTypes, target); - deferred_loading.transformComponent(component, coreTypes, target); + deferred_loading.transformComponent(component); } /// Runs given [action] with [CompilerContext]. This is needed to diff --git a/pkg/vm/lib/transformations/deferred_loading.dart b/pkg/vm/lib/transformations/deferred_loading.dart index 2280c37d3d7..e58109645bc 100644 --- a/pkg/vm/lib/transformations/deferred_loading.dart +++ b/pkg/vm/lib/transformations/deferred_loading.dart @@ -5,12 +5,8 @@ library vm.transformations.deferred_loading; import 'package:kernel/ast.dart'; -import 'package:kernel/core_types.dart' show CoreTypes; -import 'package:kernel/target/targets.dart' show Target; - import '../dominators.dart'; import '../metadata/loading_units.dart'; -import 'pragma.dart'; class _LoadingUnitBuilder { late int id; @@ -41,42 +37,7 @@ class _LibraryVertex extends Vertex<_LibraryVertex> { String toString() => "_LibraryVertex(${library.importUri})"; } -class HasEntryPointVisitor extends RecursiveVisitor { - final PragmaAnnotationParser parser; - bool _hasEntryPoint = false; - - HasEntryPointVisitor(this.parser); - - visitAnnotations(List annotations) { - for (var ann in annotations) { - ParsedPragma? pragma = parser.parsePragma(ann); - if (pragma is ParsedEntryPointPragma) { - _hasEntryPoint = true; - return; - } - } - } - - @override - visitClass(Class klass) { - visitAnnotations(klass.annotations); - klass.visitChildren(this); - } - - @override - defaultMember(Member node) { - visitAnnotations(node.annotations); - } - - bool hasEntryPoint(Library lib) { - _hasEntryPoint = false; - visitLibrary(lib); - return _hasEntryPoint; - } -} - -List computeLoadingUnits( - Component component, HasEntryPointVisitor visitor) { +List computeLoadingUnits(Component component) { // 1. Build the dominator tree for the library import graph. final map = {}; for (final lib in component.libraries) { @@ -90,15 +51,10 @@ List computeLoadingUnits( } final root = map[component.mainMethod!.enclosingLibrary]!; - // Fake imports from root library to every core library or library containing - // an entry point pragma so that they end up in the same loading unit - // attributed to the user's root library. + // Fake imports from root library to every core library so they end up in + // the same loading unit attributed to the user's root library. for (final vertex in map.values) { - if (vertex == root) { - continue; - } - if (vertex.library.importUri.isScheme("dart") || - visitor.hasEntryPoint(vertex.library)) { + if (vertex.library.importUri.isScheme("dart")) { root.successors.add(vertex); vertex.isLoadingRoot = false; } @@ -171,12 +127,8 @@ List computeLoadingUnits( return loadingUnits.map((u) => u.asLoadingUnit()).toList(); } -Component transformComponent( - Component component, CoreTypes coreTypes, Target target) { - final parser = ConstantPragmaAnnotationParser(coreTypes, target); - final visitor = HasEntryPointVisitor(parser); - final metadata = - new LoadingUnitsMetadata(computeLoadingUnits(component, visitor)); +Component transformComponent(Component component) { + final metadata = new LoadingUnitsMetadata(computeLoadingUnits(component)); final repo = new LoadingUnitsMetadataRepository(); component.addMetadataRepository(repo); repo.mapping[component] = metadata; diff --git a/pkg/vm/test/transformations/deferred_loading_test.dart b/pkg/vm/test/transformations/deferred_loading_test.dart index 61a2534f2e0..5b7cce83b76 100644 --- a/pkg/vm/test/transformations/deferred_loading_test.dart +++ b/pkg/vm/test/transformations/deferred_loading_test.dart @@ -6,7 +6,6 @@ import 'dart:io'; import 'package:kernel/target/targets.dart'; import 'package:kernel/ast.dart'; -import 'package:kernel/core_types.dart'; import 'package:kernel/kernel.dart'; import 'package:test/test.dart'; import 'package:vm/transformations/deferred_loading.dart' @@ -25,9 +24,7 @@ runTestCase(Uri source) async { final reversed = component.libraries.reversed.toList(); component.libraries.setAll(0, reversed); - final coreTypes = CoreTypes(component); - - component = transformComponent(component, coreTypes, target); + component = transformComponent(component); // Remove core libraries so the expected output isn't enormous and broken by // core libraries changes. diff --git a/runtime/vm/compiler/frontend/kernel_translation_helper.cc b/runtime/vm/compiler/frontend/kernel_translation_helper.cc index 5758e51fb56..b84479f57c5 100644 --- a/runtime/vm/compiler/frontend/kernel_translation_helper.cc +++ b/runtime/vm/compiler/frontend/kernel_translation_helper.cc @@ -1930,16 +1930,6 @@ void LoadingUnitsMetadataHelper::ReadMetadata(intptr_t node_offset) { object_store->set_loading_units(loading_units); ASSERT(object_store->loading_unit_uris() == Array::null()); object_store->set_loading_unit_uris(loading_unit_uris); - - const GrowableObjectArray& libraries = - GrowableObjectArray::Handle(zone, object_store->libraries()); - for (intptr_t i = 0; i < libraries.Length(); i++) { - lib ^= libraries.At(i); - unit = lib.loading_unit(); - if (unit.IsNull()) { - FATAL("%s is not attributed to any loading unit", lib.ToCString()); - } - } } CallSiteAttributesMetadataHelper::CallSiteAttributesMetadataHelper(