| 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 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/names.dart'; | 8 import '../common/names.dart'; |
| 9 import '../compiler.dart'; | 9 import '../compiler.dart'; |
| 10 import '../constants/expressions.dart'; | 10 import '../constants/expressions.dart'; |
| (...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 614 } | 614 } |
| 615 workQueue.addAll(info.users); | 615 workQueue.addAll(info.users); |
| 616 if (info.hasStableType(this)) { | 616 if (info.hasStableType(this)) { |
| 617 info.stabilize(this); | 617 info.stabilize(this); |
| 618 } | 618 } |
| 619 } | 619 } |
| 620 } | 620 } |
| 621 } | 621 } |
| 622 | 622 |
| 623 void buildWorkQueue() { | 623 void buildWorkQueue() { |
| 624 workQueue.addAll(types.typeInformations.values); | 624 workQueue.addAll(types.orderedTypeInformations); |
| 625 workQueue.addAll(types.allocatedTypes); | 625 workQueue.addAll(types.allocatedTypes); |
| 626 workQueue.addAll(types.allocatedClosures); | 626 workQueue.addAll(types.allocatedClosures); |
| 627 workQueue.addAll(types.allocatedCalls); | 627 workQueue.addAll(types.allocatedCalls); |
| 628 } | 628 } |
| 629 | 629 |
| 630 /** | 630 /** |
| 631 * Update the assignments to parameters in the graph. [remove] tells | 631 * Update the assignments to parameters in the graph. [remove] tells |
| 632 * wheter assignments must be added or removed. If [init] is false, | 632 * wheter assignments must be added or removed. If [init] is false, |
| 633 * parameters are added to the work queue. | 633 * parameters are added to the work queue. |
| 634 */ | 634 */ |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1030 } | 1030 } |
| 1031 | 1031 |
| 1032 void clear() { | 1032 void clear() { |
| 1033 void cleanup(TypeInformation info) => info.cleanup(); | 1033 void cleanup(TypeInformation info) => info.cleanup(); |
| 1034 | 1034 |
| 1035 types.allocatedCalls.forEach(cleanup); | 1035 types.allocatedCalls.forEach(cleanup); |
| 1036 types.allocatedCalls.clear(); | 1036 types.allocatedCalls.clear(); |
| 1037 | 1037 |
| 1038 defaultTypeOfParameter.clear(); | 1038 defaultTypeOfParameter.clear(); |
| 1039 | 1039 |
| 1040 types.typeInformations.values.forEach(cleanup); | 1040 types.parameterTypeInformations.values.forEach(cleanup); |
| 1041 types.memberTypeInformations.values.forEach(cleanup); |
| 1041 | 1042 |
| 1042 types.allocatedTypes.forEach(cleanup); | 1043 types.allocatedTypes.forEach(cleanup); |
| 1043 types.allocatedTypes.clear(); | 1044 types.allocatedTypes.clear(); |
| 1044 | 1045 |
| 1045 types.concreteTypes.clear(); | 1046 types.concreteTypes.clear(); |
| 1046 | 1047 |
| 1047 types.allocatedClosures.forEach(cleanup); | 1048 types.allocatedClosures.forEach(cleanup); |
| 1048 types.allocatedClosures.clear(); | 1049 types.allocatedClosures.clear(); |
| 1049 | 1050 |
| 1050 analyzedElements.clear(); | 1051 analyzedElements.clear(); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1106 /** | 1107 /** |
| 1107 * Records that the captured variable [local] is read. | 1108 * Records that the captured variable [local] is read. |
| 1108 */ | 1109 */ |
| 1109 void recordCapturedLocalRead(Local local) {} | 1110 void recordCapturedLocalRead(Local local) {} |
| 1110 | 1111 |
| 1111 /** | 1112 /** |
| 1112 * Records that the variable [local] is being updated. | 1113 * Records that the variable [local] is being updated. |
| 1113 */ | 1114 */ |
| 1114 void recordLocalUpdate(Local local, TypeInformation type) {} | 1115 void recordLocalUpdate(Local local, TypeInformation type) {} |
| 1115 } | 1116 } |
| OLD | NEW |