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 js_backend; | 5 part of js_backend; |
6 | 6 |
7 const VERBOSE_OPTIMIZER_HINTS = false; | 7 const VERBOSE_OPTIMIZER_HINTS = false; |
8 | 8 |
9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR"); | 9 const bool USE_CPS_IR = const bool.fromEnvironment("USE_CPS_IR"); |
10 | 10 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
81 static const String INVOKE_ON = '_getCachedInvocation'; | 81 static const String INVOKE_ON = '_getCachedInvocation'; |
82 static const String START_ROOT_ISOLATE = 'startRootIsolate'; | 82 static const String START_ROOT_ISOLATE = 'startRootIsolate'; |
83 | 83 |
84 | 84 |
85 /// The list of functions for classes in the [internalLibrary] that we want | 85 /// The list of functions for classes in the [internalLibrary] that we want |
86 /// to inline always. Any function in this list must be inlinable with | 86 /// to inline always. Any function in this list must be inlinable with |
87 /// respect to the conditions used in [InlineWeeder.canInline], except for | 87 /// respect to the conditions used in [InlineWeeder.canInline], except for |
88 /// size/complexity heuristics. | 88 /// size/complexity heuristics. |
89 static const Map<String, List<String>> ALWAYS_INLINE = | 89 static const Map<String, List<String>> ALWAYS_INLINE = |
90 const <String, List<String>> { | 90 const <String, List<String>> { |
91 'IterableMixinWorkaround': const <String>['forEach'], | |
sra1
2015/02/24 04:04:53
We should possibly remove this hack entirely.
If w
| |
92 }; | 91 }; |
93 | 92 |
94 String get patchVersion => USE_NEW_EMITTER ? 'new' : 'old'; | 93 String get patchVersion => USE_NEW_EMITTER ? 'new' : 'old'; |
95 | 94 |
96 final Annotations annotations = new Annotations(); | 95 final Annotations annotations = new Annotations(); |
97 | 96 |
98 /// List of [FunctionElement]s that we want to inline always. This list is | 97 /// List of [FunctionElement]s that we want to inline always. This list is |
99 /// filled when resolution is complete by looking up in [internalLibrary]. | 98 /// filled when resolution is complete by looking up in [internalLibrary]. |
100 List<FunctionElement> functionsToAlwaysInline; | 99 List<FunctionElement> functionsToAlwaysInline; |
101 | 100 |
(...skipping 2591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2693 } | 2692 } |
2694 } | 2693 } |
2695 | 2694 |
2696 /// Records that [constant] is used by the element behind [registry]. | 2695 /// Records that [constant] is used by the element behind [registry]. |
2697 class Dependency { | 2696 class Dependency { |
2698 final ConstantValue constant; | 2697 final ConstantValue constant; |
2699 final Element annotatedElement; | 2698 final Element annotatedElement; |
2700 | 2699 |
2701 const Dependency(this.constant, this.annotatedElement); | 2700 const Dependency(this.constant, this.annotatedElement); |
2702 } | 2701 } |
OLD | NEW |