| 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 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 | 421 |
| 422 Location temp(intptr_t index) const { | 422 Location temp(intptr_t index) const { |
| 423 return temp_locations_[index]; | 423 return temp_locations_[index]; |
| 424 } | 424 } |
| 425 | 425 |
| 426 Location* temp_slot(intptr_t index) { | 426 Location* temp_slot(intptr_t index) { |
| 427 return &temp_locations_[index]; | 427 return &temp_locations_[index]; |
| 428 } | 428 } |
| 429 | 429 |
| 430 void set_temp(intptr_t index, Location loc) { | 430 void set_temp(intptr_t index, Location loc) { |
| 431 ASSERT(!always_calls() || loc.IsRegister()); | 431 ASSERT(!always_calls() || loc.IsMachineRegister()); |
| 432 temp_locations_[index] = loc; | 432 temp_locations_[index] = loc; |
| 433 } | 433 } |
| 434 | 434 |
| 435 void AddTemp(Location loc) { |
| 436 ASSERT(!always_calls() || loc.IsMachineRegister()); |
| 437 temp_locations_.Add(loc); |
| 438 } |
| 439 |
| 435 Location out() const { | 440 Location out() const { |
| 436 return output_location_; | 441 return output_location_; |
| 437 } | 442 } |
| 438 | 443 |
| 439 Location* out_slot() { | 444 Location* out_slot() { |
| 440 return &output_location_; | 445 return &output_location_; |
| 441 } | 446 } |
| 442 | 447 |
| 443 void set_out(Location loc) { | 448 void set_out(Location loc) { |
| 444 ASSERT(!always_calls() || (loc.IsRegister() || loc.IsInvalid())); | 449 ASSERT(!always_calls() || (loc.IsRegister() || loc.IsInvalid())); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 473 BitmapBuilder* stack_bitmap_; | 478 BitmapBuilder* stack_bitmap_; |
| 474 | 479 |
| 475 const ContainsCall contains_call_; | 480 const ContainsCall contains_call_; |
| 476 RegisterSet live_registers_; | 481 RegisterSet live_registers_; |
| 477 }; | 482 }; |
| 478 | 483 |
| 479 | 484 |
| 480 } // namespace dart | 485 } // namespace dart |
| 481 | 486 |
| 482 #endif // VM_LOCATIONS_H_ | 487 #endif // VM_LOCATIONS_H_ |
| OLD | NEW |