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 |