OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, 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 dart2js.js_model.strategy; | 5 library dart2js.js_model.strategy; |
6 | 6 |
7 import '../closure.dart' show ClosureConversionTask; | 7 import '../closure.dart' show ClosureConversionTask; |
8 import '../common/tasks.dart'; | 8 import '../common/tasks.dart'; |
9 import '../common_elements.dart'; | 9 import '../common_elements.dart'; |
10 import '../compiler.dart'; | 10 import '../compiler.dart'; |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 covariant ClosedWorldBase closedWorld) { | 56 covariant ClosedWorldBase closedWorld) { |
57 KernelFrontEndStrategy strategy = _compiler.frontendStrategy; | 57 KernelFrontEndStrategy strategy = _compiler.frontendStrategy; |
58 KernelToElementMapForImpact elementMap = strategy.elementMap; | 58 KernelToElementMapForImpact elementMap = strategy.elementMap; |
59 _elementMap = new JsKernelToElementMap( | 59 _elementMap = new JsKernelToElementMap( |
60 _compiler.reporter, _compiler.environment, elementMap); | 60 _compiler.reporter, _compiler.environment, elementMap); |
61 _elementEnvironment = _elementMap.elementEnvironment; | 61 _elementEnvironment = _elementMap.elementEnvironment; |
62 _commonElements = _elementMap.commonElements; | 62 _commonElements = _elementMap.commonElements; |
63 JsToFrontendMap _map = _elementMap.jsToFrontendMap; | 63 JsToFrontendMap _map = _elementMap.jsToFrontendMap; |
64 BackendUsage backendUsage = | 64 BackendUsage backendUsage = |
65 new JsBackendUsage(_map, closedWorld.backendUsage); | 65 new JsBackendUsage(_map, closedWorld.backendUsage); |
| 66 _closureDataLookup = new KernelClosureConversionTask( |
| 67 _compiler.measurer, _elementMap, _map, _globalLocalsMap); |
66 NativeData nativeData = new JsNativeData(_map, closedWorld.nativeData); | 68 NativeData nativeData = new JsNativeData(_map, closedWorld.nativeData); |
67 InterceptorData interceptorData = new InterceptorDataImpl( | 69 InterceptorData interceptorData = new InterceptorDataImpl( |
68 nativeData, | 70 nativeData, |
69 _commonElements, | 71 _commonElements, |
70 // TODO(johnniwinther): Convert these. | 72 // TODO(johnniwinther): Convert these. |
71 const {}, | 73 const {}, |
72 new Set(), | 74 new Set(), |
73 new Set()); | 75 new Set()); |
74 | 76 |
75 Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes = | 77 Map<ClassEntity, ClassHierarchyNode> classHierarchyNodes = |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 allTypedefs: new ImmutableEmptySet<TypedefElement>(), | 146 allTypedefs: new ImmutableEmptySet<TypedefElement>(), |
145 typesImplementedBySubclasses: null); | 147 typesImplementedBySubclasses: null); |
146 } | 148 } |
147 | 149 |
148 @override | 150 @override |
149 Sorter get sorter { | 151 Sorter get sorter { |
150 return _sorter ??= new KernelSorter(elementMap); | 152 return _sorter ??= new KernelSorter(elementMap); |
151 } | 153 } |
152 | 154 |
153 @override | 155 @override |
154 ClosureConversionTask get closureDataLookup => | 156 ClosureConversionTask get closureDataLookup => _closureDataLookup; |
155 _closureDataLookup ??= new KernelClosureConversionTask( | |
156 _compiler.measurer, elementMap, _globalLocalsMap); | |
157 | 157 |
158 @override | 158 @override |
159 SourceInformationStrategy get sourceInformationStrategy => | 159 SourceInformationStrategy get sourceInformationStrategy => |
160 const JavaScriptSourceInformationStrategy(); | 160 const JavaScriptSourceInformationStrategy(); |
161 | 161 |
162 @override | 162 @override |
163 SsaBuilder createSsaBuilder(CompilerTask task, JavaScriptBackend backend, | 163 SsaBuilder createSsaBuilder(CompilerTask task, JavaScriptBackend backend, |
164 SourceInformationStrategy sourceInformationStrategy) { | 164 SourceInformationStrategy sourceInformationStrategy) { |
165 return new KernelSsaBuilder( | 165 return new KernelSsaBuilder( |
166 task, backend.compiler, elementMap, _globalLocalsMap); | 166 task, backend.compiler, elementMap, _globalLocalsMap); |
(...skipping 10 matching lines...) Expand all Loading... |
177 ClosedWorld closedWorld, | 177 ClosedWorld closedWorld, |
178 SelectorConstraintsStrategy selectorConstraintsStrategy) { | 178 SelectorConstraintsStrategy selectorConstraintsStrategy) { |
179 return new KernelCodegenWorldBuilder( | 179 return new KernelCodegenWorldBuilder( |
180 elementMap, | 180 elementMap, |
181 closedWorld.elementEnvironment, | 181 closedWorld.elementEnvironment, |
182 nativeBasicData, | 182 nativeBasicData, |
183 closedWorld, | 183 closedWorld, |
184 selectorConstraintsStrategy); | 184 selectorConstraintsStrategy); |
185 } | 185 } |
186 } | 186 } |
OLD | NEW |