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 js_backend.backend.codegen_listener; | 5 library js_backend.backend.codegen_listener; |
6 | 6 |
7 import '../common.dart'; | 7 import '../common.dart'; |
8 import '../common/backend_api.dart'; | 8 import '../common/backend_api.dart'; |
9 import '../common/names.dart' show Identifiers; | 9 import '../common/names.dart' show Identifiers; |
10 import '../common_elements.dart' show CommonElements, ElementEnvironment; | 10 import '../common_elements.dart' show CommonElements, ElementEnvironment; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 _impacts.noSuchMethodSupport.createImpact(_elementEnvironment)); | 166 _impacts.noSuchMethodSupport.createImpact(_elementEnvironment)); |
167 _noSuchMethodEnabledForCodegen = true; | 167 _noSuchMethodEnabledForCodegen = true; |
168 } | 168 } |
169 | 169 |
170 if (!enqueuer.queueIsEmpty) return false; | 170 if (!enqueuer.queueIsEmpty) return false; |
171 | 171 |
172 _mirrorsAnalysis.onQueueEmpty(enqueuer, recentClasses); | 172 _mirrorsAnalysis.onQueueEmpty(enqueuer, recentClasses); |
173 return true; | 173 return true; |
174 } | 174 } |
175 | 175 |
| 176 @override |
| 177 void onQueueClosed() { |
| 178 _lookupMapAnalysis.onQueueClosed(); |
| 179 } |
| 180 |
176 /// Adds the impact of [constant] to [impactBuilder]. | 181 /// Adds the impact of [constant] to [impactBuilder]. |
177 void _computeImpactForCompileTimeConstant( | 182 void _computeImpactForCompileTimeConstant( |
178 ConstantValue constant, WorldImpactBuilder impactBuilder) { | 183 ConstantValue constant, WorldImpactBuilder impactBuilder) { |
179 _computeImpactForCompileTimeConstantInternal(constant, impactBuilder); | 184 _computeImpactForCompileTimeConstantInternal(constant, impactBuilder); |
180 | 185 |
181 if (_lookupMapAnalysis.isLookupMap(constant)) { | 186 if (_lookupMapAnalysis.isLookupMap(constant)) { |
182 // Note: internally, this registration will temporarily remove the | 187 // Note: internally, this registration will temporarily remove the |
183 // constant dependencies and add them later on-demand. | 188 // constant dependencies and add them later on-demand. |
184 _lookupMapAnalysis.registerLookupMapReference(constant); | 189 _lookupMapAnalysis.registerLookupMapReference(constant); |
185 } | 190 } |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 @override | 338 @override |
334 WorldImpact registerImplementedClass(ClassEntity cls) { | 339 WorldImpact registerImplementedClass(ClassEntity cls) { |
335 return _processClass(cls); | 340 return _processClass(cls); |
336 } | 341 } |
337 | 342 |
338 @override | 343 @override |
339 WorldImpact registerInstantiatedClass(ClassEntity cls) { | 344 WorldImpact registerInstantiatedClass(ClassEntity cls) { |
340 return _processClass(cls); | 345 return _processClass(cls); |
341 } | 346 } |
342 | 347 |
| 348 @override |
343 void logSummary(void log(String message)) { | 349 void logSummary(void log(String message)) { |
| 350 _lookupMapAnalysis.logSummary(log); |
344 _nativeEnqueuer.logSummary(log); | 351 _nativeEnqueuer.logSummary(log); |
345 } | 352 } |
346 } | 353 } |
OLD | NEW |