Chromium Code Reviews| Index: src/compiler/register-allocator.h |
| diff --git a/src/compiler/register-allocator.h b/src/compiler/register-allocator.h |
| index 9032fde224ec8175e1217a71eefa9cdfcf34cb0c..394d1deb7413a6e810f320589ff019cfb91c39a1 100644 |
| --- a/src/compiler/register-allocator.h |
| +++ b/src/compiler/register-allocator.h |
| @@ -670,6 +670,7 @@ class SpillRange final : public ZoneObject { |
| int ByteWidth() const; |
| bool IsEmpty() const { return live_ranges_.empty(); } |
| bool TryMerge(SpillRange* other); |
| + bool HasSlot() const { return assigned_slot_ != kUnassignedSlot; } |
| void set_assigned_slot(int index) { |
| DCHECK_EQ(kUnassignedSlot, assigned_slot_); |
| @@ -802,6 +803,10 @@ class RegisterAllocationData final : public ZoneObject { |
| PhiMapValue* GetPhiMapValueFor(int virtual_register); |
| bool IsBlockBoundary(LifetimePosition pos) const; |
| + ZoneMap<TopLevelLiveRange*, int>& preassigned_slot_ranges() { |
| + return preassigned_slot_ranges_; |
| + } |
| + |
| void Print(const InstructionSequence* instructionSequence); |
| void Print(const Instruction* instruction); |
| void Print(const LiveRange* range, bool with_children = false); |
| @@ -830,6 +835,7 @@ class RegisterAllocationData final : public ZoneObject { |
| BitVector* assigned_registers_; |
| BitVector* assigned_double_registers_; |
| int virtual_register_count_; |
| + ZoneMap<TopLevelLiveRange*, int> preassigned_slot_ranges_; |
|
Jarin
2015/12/10 18:32:59
Why is this a ZoneMap? A simple vector of pairs sh
Mircea Trofin
2015/12/11 02:17:18
Duh. Thanks for the catch! Fixed.
|
| DISALLOW_COPY_AND_ASSIGN(RegisterAllocationData); |
| }; |