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 library js_backend.backend; | 5 library js_backend.backend; |
6 | 6 |
7 import 'dart:async' show Future; | 7 import 'dart:async' show Future; |
8 | 8 |
9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; | 9 import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames; |
10 | 10 |
(...skipping 2675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2686 bool onQueueEmpty(Enqueuer enqueuer, Iterable<ClassEntity> recentClasses) { | 2686 bool onQueueEmpty(Enqueuer enqueuer, Iterable<ClassEntity> recentClasses) { |
2687 // TODO(johnniwinther): Avoid the need for accessing [_backend]. | 2687 // TODO(johnniwinther): Avoid the need for accessing [_backend]. |
2688 return _backend._onQueueEmpty(enqueuer, recentClasses); | 2688 return _backend._onQueueEmpty(enqueuer, recentClasses); |
2689 } | 2689 } |
2690 | 2690 |
2691 @override | 2691 @override |
2692 WorldImpact registerUsedElement(MemberElement member) { | 2692 WorldImpact registerUsedElement(MemberElement member) { |
2693 WorldImpactBuilderImpl worldImpact = new WorldImpactBuilderImpl(); | 2693 WorldImpactBuilderImpl worldImpact = new WorldImpactBuilderImpl(); |
2694 _registerUsedElement(worldImpact, member, forResolution: false); | 2694 _registerUsedElement(worldImpact, member, forResolution: false); |
2695 | 2695 |
2696 // TODO(sigmund): add other missing dependencies (internals, selectors | |
2697 // enqueued after allocations). | |
2698 dumpInfoTask.registerDependency(member); | |
2699 | |
2700 return worldImpact; | 2696 return worldImpact; |
2701 } | 2697 } |
2702 | 2698 |
2703 WorldImpact registerClosureWithFreeTypeVariables(MethodElement closure) { | 2699 WorldImpact registerClosureWithFreeTypeVariables(MethodElement closure) { |
2704 if (methodNeedsRti(closure)) { | 2700 if (methodNeedsRti(closure)) { |
2705 return _registerComputeSignature(); | 2701 return _registerComputeSignature(); |
2706 } | 2702 } |
2707 return const WorldImpact(); | 2703 return const WorldImpact(); |
2708 } | 2704 } |
2709 | 2705 |
(...skipping 15 matching lines...) Expand all Loading... |
2725 WorldImpact registerInstantiatedClass(ClassEntity cls) { | 2721 WorldImpact registerInstantiatedClass(ClassEntity cls) { |
2726 WorldImpact worldImpact = _processClass(cls, forResolution: false); | 2722 WorldImpact worldImpact = _processClass(cls, forResolution: false); |
2727 lookupMapAnalysis.registerInstantiatedClass(cls); | 2723 lookupMapAnalysis.registerInstantiatedClass(cls); |
2728 return worldImpact; | 2724 return worldImpact; |
2729 } | 2725 } |
2730 | 2726 |
2731 // TODO(johnniwinther): Avoid the need for accessing [_backend]. | 2727 // TODO(johnniwinther): Avoid the need for accessing [_backend]. |
2732 bool methodNeedsRti(FunctionElement function) => | 2728 bool methodNeedsRti(FunctionElement function) => |
2733 _backend.methodNeedsRti(function); | 2729 _backend.methodNeedsRti(function); |
2734 } | 2730 } |
OLD | NEW |