| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 | 411 |
| 412 Location in(intptr_t index) const { | 412 Location in(intptr_t index) const { |
| 413 return input_locations_[index]; | 413 return input_locations_[index]; |
| 414 } | 414 } |
| 415 | 415 |
| 416 Location* in_slot(intptr_t index) { | 416 Location* in_slot(intptr_t index) { |
| 417 return &input_locations_[index]; | 417 return &input_locations_[index]; |
| 418 } | 418 } |
| 419 | 419 |
| 420 void set_in(intptr_t index, Location loc) { | 420 void set_in(intptr_t index, Location loc) { |
| 421 ASSERT(!always_calls() || loc.IsMachineRegister()); | 421 ASSERT(!always_calls() || loc.IsRegister()); |
| 422 input_locations_[index] = loc; | 422 input_locations_[index] = loc; |
| 423 } | 423 } |
| 424 | 424 |
| 425 intptr_t temp_count() const { | 425 intptr_t temp_count() const { |
| 426 return temp_locations_.length(); | 426 return temp_locations_.length(); |
| 427 } | 427 } |
| 428 | 428 |
| 429 Location temp(intptr_t index) const { | 429 Location temp(intptr_t index) const { |
| 430 return temp_locations_[index]; | 430 return temp_locations_[index]; |
| 431 } | 431 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 446 | 446 |
| 447 Location out() const { | 447 Location out() const { |
| 448 return output_location_; | 448 return output_location_; |
| 449 } | 449 } |
| 450 | 450 |
| 451 Location* out_slot() { | 451 Location* out_slot() { |
| 452 return &output_location_; | 452 return &output_location_; |
| 453 } | 453 } |
| 454 | 454 |
| 455 void set_out(Location loc) { | 455 void set_out(Location loc) { |
| 456 ASSERT(!always_calls() || (loc.IsMachineRegister() || loc.IsInvalid())); | 456 ASSERT(!always_calls() || (loc.IsRegister() || loc.IsInvalid())); |
| 457 output_location_ = loc; | 457 output_location_ = loc; |
| 458 } | 458 } |
| 459 | 459 |
| 460 BitmapBuilder* stack_bitmap() const { return stack_bitmap_; } | 460 BitmapBuilder* stack_bitmap() const { return stack_bitmap_; } |
| 461 | 461 |
| 462 bool always_calls() const { | 462 bool always_calls() const { |
| 463 return contains_call_ == kCall; | 463 return contains_call_ == kCall; |
| 464 } | 464 } |
| 465 | 465 |
| 466 bool can_call() { | 466 bool can_call() { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 485 BitmapBuilder* stack_bitmap_; | 485 BitmapBuilder* stack_bitmap_; |
| 486 | 486 |
| 487 const ContainsCall contains_call_; | 487 const ContainsCall contains_call_; |
| 488 RegisterSet live_registers_; | 488 RegisterSet live_registers_; |
| 489 }; | 489 }; |
| 490 | 490 |
| 491 | 491 |
| 492 } // namespace dart | 492 } // namespace dart |
| 493 | 493 |
| 494 #endif // VM_LOCATIONS_H_ | 494 #endif // VM_LOCATIONS_H_ |
| OLD | NEW |