| 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 } else { | 332 } else { |
| 333 assert(element.isField()); | 333 assert(element.isField()); |
| 334 } | 334 } |
| 335 // We also need to add the selector to the invoked names map, | 335 // We also need to add the selector to the invoked names map, |
| 336 // because the emitter uses that map to generate parameter stubs. | 336 // because the emitter uses that map to generate parameter stubs. |
| 337 Set<Selector> selectors = universe.invokedNames.putIfAbsent( | 337 Set<Selector> selectors = universe.invokedNames.putIfAbsent( |
| 338 element.name, () => new Set<Selector>()); | 338 element.name, () => new Set<Selector>()); |
| 339 selectors.add(selector); | 339 selectors.add(selector); |
| 340 } | 340 } |
| 341 | 341 |
| 342 void registerSelectorUse(Selector selector) { |
| 343 if (selector.isGetter()) { |
| 344 registerInvokedGetter(selector.name, selector); |
| 345 } else if (selector.isSetter()) { |
| 346 registerInvokedSetter(selector.name, selector); |
| 347 } else { |
| 348 registerInvocation(selector.name, selector); |
| 349 } |
| 350 } |
| 351 |
| 342 void registerDynamicGetter(SourceString methodName, Selector selector) { | 352 void registerDynamicGetter(SourceString methodName, Selector selector) { |
| 343 registerInvokedGetter(methodName, selector); | 353 registerInvokedGetter(methodName, selector); |
| 344 } | 354 } |
| 345 | 355 |
| 346 void registerDynamicSetter(SourceString methodName, Selector selector) { | 356 void registerDynamicSetter(SourceString methodName, Selector selector) { |
| 347 registerInvokedSetter(methodName, selector); | 357 registerInvokedSetter(methodName, selector); |
| 348 } | 358 } |
| 349 | 359 |
| 350 void registerFieldGetter(Element element) { | 360 void registerFieldGetter(Element element) { |
| 351 universe.fieldGetters.add(element); | 361 universe.fieldGetters.add(element); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 while(!queue.isEmpty) { | 546 while(!queue.isEmpty) { |
| 537 // TODO(johnniwinther): Find an optimal process order for codegen. | 547 // TODO(johnniwinther): Find an optimal process order for codegen. |
| 538 f(queue.removeLast()); | 548 f(queue.removeLast()); |
| 539 } | 549 } |
| 540 } | 550 } |
| 541 | 551 |
| 542 void _logSpecificSummary(log(message)) { | 552 void _logSpecificSummary(log(message)) { |
| 543 log('Compiled ${generatedCode.length} methods.'); | 553 log('Compiled ${generatedCode.length} methods.'); |
| 544 } | 554 } |
| 545 } | 555 } |
| OLD | NEW |