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 #ifndef VM_LOCATIONS_H_ | 5 #ifndef VM_LOCATIONS_H_ |
6 #define VM_LOCATIONS_H_ | 6 #define VM_LOCATIONS_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 #include "vm/bitfield.h" | 10 #include "vm/bitfield.h" |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 return output_location_; | 142 return output_location_; |
143 } | 143 } |
144 | 144 |
145 void set_out(Location loc) { | 145 void set_out(Location loc) { |
146 output_location_ = loc; | 146 output_location_ = loc; |
147 } | 147 } |
148 | 148 |
149 // Perform a greedy local register allocation. Consider all register free. | 149 // Perform a greedy local register allocation. Consider all register free. |
150 void AllocateRegisters(); | 150 void AllocateRegisters(); |
151 | 151 |
| 152 static LocationSummary* Make(intptr_t input_count, Location out); |
| 153 |
152 private: | 154 private: |
153 // TODO(vegorov): replace with ZoneArray. | 155 // TODO(vegorov): replace with ZoneArray. |
154 GrowableArray<Location> input_locations_; | 156 GrowableArray<Location> input_locations_; |
155 GrowableArray<Location> temp_locations_; | 157 GrowableArray<Location> temp_locations_; |
156 Location output_location_; | 158 Location output_location_; |
157 }; | 159 }; |
158 | 160 |
159 | 161 |
160 } // namespace dart | 162 } // namespace dart |
161 | 163 |
162 #endif // VM_LOCATIONS_H_ | 164 #endif // VM_LOCATIONS_H_ |
OLD | NEW |