| OLD | NEW |
| 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 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 LinkBuilder<Element> remaining = new LinkBuilder<Element>(); | 265 LinkBuilder<Element> remaining = new LinkBuilder<Element>(); |
| 266 for (; !members.isEmpty; members = members.tail) { | 266 for (; !members.isEmpty; members = members.tail) { |
| 267 if (!f(members.head)) remaining.addLast(members.head); | 267 if (!f(members.head)) remaining.addLast(members.head); |
| 268 } | 268 } |
| 269 instanceMembersByName[memberName] = remaining.toLink(); | 269 instanceMembersByName[memberName] = remaining.toLink(); |
| 270 } | 270 } |
| 271 } | 271 } |
| 272 | 272 |
| 273 void handleUnseenSelector(SourceString methodName, Selector selector) { | 273 void handleUnseenSelector(SourceString methodName, Selector selector) { |
| 274 processInstanceMembers(methodName, (Element member) { | 274 processInstanceMembers(methodName, (Element member) { |
| 275 if (selector.applies(member, compiler)) { | 275 if (selector.appliesUnnamed(member, compiler)) { |
| 276 if (member.isField() && member.enclosingElement.isNative()) { | 276 if (member.isField() && member.enclosingElement.isNative()) { |
| 277 if (selector.isGetter() || selector.isCall()) { | 277 if (selector.isGetter() || selector.isCall()) { |
| 278 nativeEnqueuer.registerFieldLoad(member); | 278 nativeEnqueuer.registerFieldLoad(member); |
| 279 // We have to also handle storing to the field because we only get | 279 // We have to also handle storing to the field because we only get |
| 280 // one look at each member and there might be a store we have not | 280 // one look at each member and there might be a store we have not |
| 281 // seen yet. | 281 // seen yet. |
| 282 // TODO(sra): Process fields for storing separately. | 282 // TODO(sra): Process fields for storing separately. |
| 283 nativeEnqueuer.registerFieldStore(member); | 283 nativeEnqueuer.registerFieldStore(member); |
| 284 } else { | 284 } else { |
| 285 nativeEnqueuer.registerFieldStore(member); | 285 nativeEnqueuer.registerFieldStore(member); |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 552 while(!queue.isEmpty) { | 552 while(!queue.isEmpty) { |
| 553 // TODO(johnniwinther): Find an optimal process order for codegen. | 553 // TODO(johnniwinther): Find an optimal process order for codegen. |
| 554 f(queue.removeLast()); | 554 f(queue.removeLast()); |
| 555 } | 555 } |
| 556 } | 556 } |
| 557 | 557 |
| 558 void _logSpecificSummary(log(message)) { | 558 void _logSpecificSummary(log(message)) { |
| 559 log('Compiled ${universe.generatedCode.length} methods.'); | 559 log('Compiled ${universe.generatedCode.length} methods.'); |
| 560 } | 560 } |
| 561 } | 561 } |
| OLD | NEW |