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

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

Issue 1385183002: Revert "Avoid eager enqueueing from resolution" (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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/compiler.dart ('k') | pkg/compiler/lib/src/dart_backend/dart_backend.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 part of dart_backend; 5 part of dart_backend;
6 6
7 // TODO(ahe): This class is simply wrong. This backend should use 7 // TODO(ahe): This class is simply wrong. This backend should use
8 // elements when it can, not AST nodes. Perhaps a [Map<Element, 8 // elements when it can, not AST nodes. Perhaps a [Map<Element,
9 // TreeElements>] is what is needed. 9 // TreeElements>] is what is needed.
10 class ElementAst { 10 class ElementAst {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 element, 176 element,
177 elementAst, 177 elementAst,
178 newTypedefElementCallback, 178 newTypedefElementCallback,
179 newClassElementCallback); 179 newClassElementCallback);
180 collector.collect(); 180 collector.collect();
181 } 181 }
182 182
183 int totalSize = outputter.assembleProgram( 183 int totalSize = outputter.assembleProgram(
184 libraries: compiler.libraryLoader.libraries, 184 libraries: compiler.libraryLoader.libraries,
185 instantiatedClasses: compiler.resolverWorld.directlyInstantiatedClasses, 185 instantiatedClasses: compiler.resolverWorld.directlyInstantiatedClasses,
186 resolvedElements: compiler.enqueuer.resolution.processedElements, 186 resolvedElements: compiler.enqueuer.resolution.resolvedElements,
187 usedTypeLiterals: usedTypeLiterals, 187 usedTypeLiterals: usedTypeLiterals,
188 postProcessElementAst: postProcessElementAst, 188 postProcessElementAst: postProcessElementAst,
189 computeElementAst: computeElementAst, 189 computeElementAst: computeElementAst,
190 shouldOutput: shouldOutput, 190 shouldOutput: shouldOutput,
191 isSafeToRemoveTypeDeclarations: isSafeToRemoveTypeDeclarations, 191 isSafeToRemoveTypeDeclarations: isSafeToRemoveTypeDeclarations,
192 sortElements: Elements.sortedByPosition, 192 sortElements: Elements.sortedByPosition,
193 mirrorRenamer: mirrorRenamer, 193 mirrorRenamer: mirrorRenamer,
194 mainFunction: compiler.mainFunction, 194 mainFunction: compiler.mainFunction,
195 outputUri: compiler.outputUri); 195 outputUri: compiler.outputUri);
196 196
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 node, MessageKind.DEFERRED_LIBRARY_DART_2_DART); 339 node, MessageKind.DEFERRED_LIBRARY_DART_2_DART);
340 return false; 340 return false;
341 } 341 }
342 } 342 }
343 343
344 class DartResolutionCallbacks extends ResolutionCallbacks { 344 class DartResolutionCallbacks extends ResolutionCallbacks {
345 final DartBackend backend; 345 final DartBackend backend;
346 346
347 DartResolutionCallbacks(this.backend); 347 DartResolutionCallbacks(this.backend);
348 348
349 @override
350 WorldImpact transformImpact(ResolutionWorldImpact worldImpact) {
351 TransformedWorldImpact transformed =
352 new TransformedWorldImpact(worldImpact);
353 for (DartType typeLiteral in worldImpact.typeLiterals) {
354 onTypeLiteral(typeLiteral, transformed);
355 }
356 for (InterfaceType instantiatedType in worldImpact.instantiatedTypes) {
357 // TODO(johnniwinther): Remove this when dependency tracking is done on
358 // the world impact itself.
359 transformed.registerInstantiation(instantiatedType);
360 backend.registerInstantiatedType(
361 instantiatedType, backend.compiler.enqueuer.resolution, transformed);
362 }
363 return transformed;
364 }
365
366 @override
367 void onTypeLiteral(DartType type, Registry registry) { 349 void onTypeLiteral(DartType type, Registry registry) {
368 if (type.isInterfaceType) { 350 if (type.isInterfaceType) {
369 backend.usedTypeLiterals.add(type.element); 351 backend.usedTypeLiterals.add(type.element);
370 } 352 }
371 } 353 }
372 } 354 }
373 355
374 class EmitterUnparser extends Unparser { 356 class EmitterUnparser extends Unparser {
375 final Map<Node, String> renames; 357 final Map<Node, String> renames;
376 358
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 } 527 }
546 528
547 // TODO(johnniwinther): Remove this when values are computed from the 529 // TODO(johnniwinther): Remove this when values are computed from the
548 // expressions. 530 // expressions.
549 @override 531 @override
550 void copyConstantValues(DartConstantTask task) { 532 void copyConstantValues(DartConstantTask task) {
551 constantCompiler.constantValueMap.addAll( 533 constantCompiler.constantValueMap.addAll(
552 task.constantCompiler.constantValueMap); 534 task.constantCompiler.constantValueMap);
553 } 535 }
554 } 536 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/compiler.dart ('k') | pkg/compiler/lib/src/dart_backend/dart_backend.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698