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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/enqueue.dart

Issue 12210142: Implement is-checks against type variables. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix a long line. Created 7 years, 9 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 | Annotate | Revision Log
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 dart2js; 5 part of dart2js;
6 6
7 class EnqueueTask extends CompilerTask { 7 class EnqueueTask extends CompilerTask {
8 final ResolutionEnqueuer resolution; 8 final ResolutionEnqueuer resolution;
9 final CodegenEnqueuer codegen; 9 final CodegenEnqueuer codegen;
10 10
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 79
80 /** 80 /**
81 * Adds [element] to the work list if it has not already been processed. 81 * Adds [element] to the work list if it has not already been processed.
82 * 82 *
83 * Returns [:true:] if the [element] should be processed. 83 * Returns [:true:] if the [element] should be processed.
84 */ 84 */
85 // TODO(johnniwinther): Change to 'Returns true if the element was added to 85 // TODO(johnniwinther): Change to 'Returns true if the element was added to
86 // the work list'? 86 // the work list'?
87 bool addElementToWorkList(Element element, [TreeElements elements]); 87 bool addElementToWorkList(Element element, [TreeElements elements]);
88 88
89 void registerInstantiatedType(InterfaceType type) {
90 universe.instantiatedTypes.add(type);
91 registerInstantiatedClass(type.element);
92 }
93
89 void registerInstantiatedClass(ClassElement cls) { 94 void registerInstantiatedClass(ClassElement cls) {
90 if (universe.instantiatedClasses.contains(cls)) return; 95 if (universe.instantiatedClasses.contains(cls)) return;
91 if (!cls.isAbstract(compiler)) { 96 if (!cls.isAbstract(compiler)) {
92 universe.instantiatedClasses.add(cls); 97 universe.instantiatedClasses.add(cls);
93 } 98 }
94 onRegisterInstantiatedClass(cls); 99 onRegisterInstantiatedClass(cls);
95 compiler.backend.registerInstantiatedClass(cls, this); 100 compiler.backend.registerInstantiatedClass(cls, this);
96 } 101 }
97 102
98 bool checkNoEnqueuedInvokedInstanceMethods() { 103 bool checkNoEnqueuedInvokedInstanceMethods() {
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 while(!queue.isEmpty) { 531 while(!queue.isEmpty) {
527 // TODO(johnniwinther): Find an optimal process order for codegen. 532 // TODO(johnniwinther): Find an optimal process order for codegen.
528 f(queue.removeLast()); 533 f(queue.removeLast());
529 } 534 }
530 } 535 }
531 536
532 void _logSpecificSummary(log(message)) { 537 void _logSpecificSummary(log(message)) {
533 log('Compiled ${generatedCode.length} methods.'); 538 log('Compiled ${generatedCode.length} methods.');
534 } 539 }
535 } 540 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698