| Index: vm/locations.h
|
| ===================================================================
|
| --- vm/locations.h (revision 7955)
|
| +++ vm/locations.h (working copy)
|
| @@ -97,14 +97,19 @@
|
| // Specification of locations for inputs and output.
|
| class LocationSummary : public ZoneAllocated {
|
| public:
|
| - explicit LocationSummary(intptr_t count)
|
| - : input_locations_(count), output_location_() {
|
| - for (intptr_t i = 0; i < count; i++) {
|
| + LocationSummary(intptr_t input_count, intptr_t temp_count)
|
| + : input_locations_(input_count),
|
| + temp_locations_(temp_count),
|
| + output_location_() {
|
| + for (intptr_t i = 0; i < input_count; i++) {
|
| input_locations_.Add(Location());
|
| }
|
| + for (intptr_t i = 0; i < temp_count; i++) {
|
| + temp_locations_.Add(Location());
|
| + }
|
| }
|
|
|
| - intptr_t count() const {
|
| + intptr_t input_count() const {
|
| return input_locations_.length();
|
| }
|
|
|
| @@ -116,6 +121,18 @@
|
| input_locations_[index] = loc;
|
| }
|
|
|
| + intptr_t temp_count() const {
|
| + return temp_locations_.length();
|
| + }
|
| +
|
| + Location temp(intptr_t index) const {
|
| + return temp_locations_[index];
|
| + }
|
| +
|
| + void set_temp(intptr_t index, Location loc) {
|
| + temp_locations_[index] = loc;
|
| + }
|
| +
|
| Location out() const {
|
| return output_location_;
|
| }
|
| @@ -130,6 +147,7 @@
|
| private:
|
| // TODO(vegorov): replace with ZoneArray.
|
| GrowableArray<Location> input_locations_;
|
| + GrowableArray<Location> temp_locations_;
|
| Location output_location_;
|
| };
|
|
|
|
|