Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(659)

Side by Side Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2625713002: Rename Enqueuer.universe to worldBuilder. (Closed)
Patch Set: Updated cf. comments Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/enqueuer.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library js_backend.backend; 5 library js_backend.backend;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; 9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
10 10
(...skipping 1274 matching lines...) Expand 10 before | Expand all | Expand 10 after
1285 return impactBuilder; 1285 return impactBuilder;
1286 } 1286 }
1287 1287
1288 onResolutionComplete( 1288 onResolutionComplete(
1289 ClosedWorld closedWorld, ClosedWorldRefiner closedWorldRefiner) { 1289 ClosedWorld closedWorld, ClosedWorldRefiner closedWorldRefiner) {
1290 for (Entity entity in compiler.enqueuer.resolution.processedEntities) { 1290 for (Entity entity in compiler.enqueuer.resolution.processedEntities) {
1291 processAnnotations(entity, closedWorldRefiner); 1291 processAnnotations(entity, closedWorldRefiner);
1292 } 1292 }
1293 computeMembersNeededForReflection(closedWorld); 1293 computeMembersNeededForReflection(closedWorld);
1294 rti.computeClassesNeedingRti( 1294 rti.computeClassesNeedingRti(
1295 compiler.enqueuer.resolution.universe, closedWorld); 1295 compiler.enqueuer.resolution.worldBuilder, closedWorld);
1296 _registeredMetadata.clear(); 1296 _registeredMetadata.clear();
1297 } 1297 }
1298 1298
1299 onTypeInferenceComplete() { 1299 onTypeInferenceComplete() {
1300 super.onTypeInferenceComplete(); 1300 super.onTypeInferenceComplete();
1301 noSuchMethodRegistry.onTypeInferenceComplete(); 1301 noSuchMethodRegistry.onTypeInferenceComplete();
1302 } 1302 }
1303 1303
1304 /// Called to register that an instantiated generic class has a call method. 1304 /// Called to register that an instantiated generic class has a call method.
1305 /// Any backend specific [WorldImpact] of this is returned. 1305 /// Any backend specific [WorldImpact] of this is returned.
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
2042 void computeMembersNeededForReflection(ClosedWorld closedWorld) { 2042 void computeMembersNeededForReflection(ClosedWorld closedWorld) {
2043 if (_membersNeededForReflection != null) return; 2043 if (_membersNeededForReflection != null) return;
2044 if (closedWorld.commonElements.mirrorsLibrary == null) { 2044 if (closedWorld.commonElements.mirrorsLibrary == null) {
2045 _membersNeededForReflection = const ImmutableEmptySet<Element>(); 2045 _membersNeededForReflection = const ImmutableEmptySet<Element>();
2046 return; 2046 return;
2047 } 2047 }
2048 // Compute a mapping from class to the closures it contains, so we 2048 // Compute a mapping from class to the closures it contains, so we
2049 // can include the correct ones when including the class. 2049 // can include the correct ones when including the class.
2050 Map<ClassElement, List<LocalFunctionElement>> closureMap = 2050 Map<ClassElement, List<LocalFunctionElement>> closureMap =
2051 new Map<ClassElement, List<LocalFunctionElement>>(); 2051 new Map<ClassElement, List<LocalFunctionElement>>();
2052 for (LocalFunctionElement closure in compiler.resolverWorld.allClosures) { 2052 for (LocalFunctionElement closure
2053 in compiler.resolutionWorldBuilder.allClosures) {
2053 closureMap.putIfAbsent(closure.enclosingClass, () => []).add(closure); 2054 closureMap.putIfAbsent(closure.enclosingClass, () => []).add(closure);
2054 } 2055 }
2055 bool foundClosure = false; 2056 bool foundClosure = false;
2056 Set<Element> reflectableMembers = new Set<Element>(); 2057 Set<Element> reflectableMembers = new Set<Element>();
2057 ResolutionEnqueuer resolution = compiler.enqueuer.resolution; 2058 ResolutionEnqueuer resolution = compiler.enqueuer.resolution;
2058 for (ClassElement cls in resolution.universe.directlyInstantiatedClasses) { 2059 for (ClassElement cls
2060 in resolution.worldBuilder.directlyInstantiatedClasses) {
2059 // Do not process internal classes. 2061 // Do not process internal classes.
2060 if (cls.library.isInternalLibrary || cls.isInjected) continue; 2062 if (cls.library.isInternalLibrary || cls.isInjected) continue;
2061 if (referencedFromMirrorSystem(cls)) { 2063 if (referencedFromMirrorSystem(cls)) {
2062 Set<Name> memberNames = new Set<Name>(); 2064 Set<Name> memberNames = new Set<Name>();
2063 // 1) the class (should be resolved) 2065 // 1) the class (should be resolved)
2064 assert(invariant(cls, cls.isResolved)); 2066 assert(invariant(cls, cls.isResolved));
2065 reflectableMembers.add(cls); 2067 reflectableMembers.add(cls);
2066 // 2) its constructors (if resolved) 2068 // 2) its constructors (if resolved)
2067 cls.constructors.forEach((Element constructor) { 2069 cls.constructors.forEach((Element constructor) {
2068 if (resolution.hasBeenProcessed(constructor)) { 2070 if (resolution.hasBeenProcessed(constructor)) {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
2151 reflectableMembers.add(closure); 2153 reflectableMembers.add(closure);
2152 foundClosure = true; 2154 foundClosure = true;
2153 } 2155 }
2154 } 2156 }
2155 } 2157 }
2156 // As we do not think about closures as classes, yet, we have to make sure 2158 // As we do not think about closures as classes, yet, we have to make sure
2157 // their superclasses are available for reflection manually. 2159 // their superclasses are available for reflection manually.
2158 if (foundClosure) { 2160 if (foundClosure) {
2159 reflectableMembers.add(helpers.closureClass); 2161 reflectableMembers.add(helpers.closureClass);
2160 } 2162 }
2161 Set<Element> closurizedMembers = compiler.resolverWorld.closurizedMembers; 2163 Set<Element> closurizedMembers =
2164 compiler.resolutionWorldBuilder.closurizedMembers;
2162 if (closurizedMembers.any(reflectableMembers.contains)) { 2165 if (closurizedMembers.any(reflectableMembers.contains)) {
2163 reflectableMembers.add(helpers.boundClosureClass); 2166 reflectableMembers.add(helpers.boundClosureClass);
2164 } 2167 }
2165 // Add typedefs. 2168 // Add typedefs.
2166 reflectableMembers 2169 reflectableMembers
2167 .addAll(closedWorld.allTypedefs.where(referencedFromMirrorSystem)); 2170 .addAll(closedWorld.allTypedefs.where(referencedFromMirrorSystem));
2168 // Register all symbols of reflectable elements 2171 // Register all symbols of reflectable elements
2169 for (Element element in reflectableMembers) { 2172 for (Element element in reflectableMembers) {
2170 symbolsUsed.add(element.name); 2173 symbolsUsed.add(element.name);
2171 } 2174 }
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2387 message: "ClosedWorld has not be set yet.")); 2390 message: "ClosedWorld has not be set yet."));
2388 return _closedWorldCache; 2391 return _closedWorldCache;
2389 } 2392 }
2390 2393
2391 void set _closedWorld(ClosedWorld value) { 2394 void set _closedWorld(ClosedWorld value) {
2392 _closedWorldCache = value; 2395 _closedWorldCache = value;
2393 } 2396 }
2394 2397
2395 WorldImpact onCodegenStart(ClosedWorld closedWorld) { 2398 WorldImpact onCodegenStart(ClosedWorld closedWorld) {
2396 _closedWorld = closedWorld; 2399 _closedWorld = closedWorld;
2397 _namer = determineNamer(_closedWorld, compiler.codegenWorld); 2400 _namer = determineNamer(_closedWorld, compiler.codegenWorldBuilder);
2398 tracer = new Tracer(_closedWorld, namer, compiler.outputProvider); 2401 tracer = new Tracer(_closedWorld, namer, compiler.outputProvider);
2399 emitter.createEmitter(_namer, _closedWorld); 2402 emitter.createEmitter(_namer, _closedWorld);
2400 lookupMapAnalysis.onCodegenStart(); 2403 lookupMapAnalysis.onCodegenStart();
2401 if (hasIsolateSupport) { 2404 if (hasIsolateSupport) {
2402 return enableIsolateSupport(forResolution: false); 2405 return enableIsolateSupport(forResolution: false);
2403 } 2406 }
2404 return const WorldImpact(); 2407 return const WorldImpact();
2405 } 2408 }
2406 2409
2407 void onCodegenEnd() { 2410 void onCodegenEnd() {
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after
3277 @override 3280 @override
3278 bool isNativeClass(ClassElement element) { 3281 bool isNativeClass(ClassElement element) {
3279 return helpers.backend.isNative(element); 3282 return helpers.backend.isNative(element);
3280 } 3283 }
3281 3284
3282 @override 3285 @override
3283 bool isNativeMember(MemberElement element) { 3286 bool isNativeMember(MemberElement element) {
3284 return helpers.backend.isNative(element); 3287 return helpers.backend.isNative(element);
3285 } 3288 }
3286 } 3289 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/enqueue.dart ('k') | pkg/compiler/lib/src/js_backend/enqueuer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698