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

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

Issue 15861028: Implement MethodMirror.metadata. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 // See comment after registerFieldLoad above. 227 // See comment after registerFieldLoad above.
228 nativeEnqueuer.registerFieldLoad(member); 228 nativeEnqueuer.registerFieldLoad(member);
229 return; 229 return;
230 } 230 }
231 // Native fields need to go into instanceMembersByName as they 231 // Native fields need to go into instanceMembersByName as they
232 // are virtual instantiation points and escape points. 232 // are virtual instantiation points and escape points.
233 } else { 233 } else {
234 // The codegen inlines instance fields initialization, so it 234 // The codegen inlines instance fields initialization, so it
235 // does not need to add individual fields in the work list. 235 // does not need to add individual fields in the work list.
236 if (isResolutionQueue) { 236 if (isResolutionQueue) {
237 // TODO(ahe): codegen should be smarter and only inline used fields.
ngeoffray 2013/06/03 06:51:55 What is that TODO about?
ahe 2013/06/03 09:13:54 Updated comment.
237 addToWorkList(member); 238 addToWorkList(member);
238 } 239 }
239 return; 240 return;
240 } 241 }
241 } else if (member.kind == ElementKind.FUNCTION) { 242 } else if (member.kind == ElementKind.FUNCTION) {
242 if (member.name == Compiler.NO_SUCH_METHOD) { 243 if (member.name == Compiler.NO_SUCH_METHOD) {
243 enableNoSuchMethod(member); 244 enableNoSuchMethod(member);
244 } 245 }
245 // If there is a property access with the same name as a method we 246 // If there is a property access with the same name as a method we
246 // need to emit the method. 247 // need to emit the method.
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 while(!queue.isEmpty) { 757 while(!queue.isEmpty) {
757 // TODO(johnniwinther): Find an optimal process order for codegen. 758 // TODO(johnniwinther): Find an optimal process order for codegen.
758 f(queue.removeLast()); 759 f(queue.removeLast());
759 } 760 }
760 } 761 }
761 762
762 void _logSpecificSummary(log(message)) { 763 void _logSpecificSummary(log(message)) {
763 log('Compiled ${generatedCode.length} methods.'); 764 log('Compiled ${generatedCode.length} methods.');
764 } 765 }
765 } 766 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698