| Index: src/lithium-allocator.h
|
| diff --git a/src/lithium-allocator.h b/src/lithium-allocator.h
|
| index e5edd3cf039505a408e71dbe47da6ee1d0f7d498..9908ea823d3ed3171a3d7b49f8f2a16f2236db3c 100644
|
| --- a/src/lithium-allocator.h
|
| +++ b/src/lithium-allocator.h
|
| @@ -146,6 +146,7 @@ class LifetimePosition {
|
|
|
|
|
| enum RegisterKind {
|
| + UNALLOCATED_REGISTERS,
|
| GENERAL_REGISTERS,
|
| DOUBLE_REGISTERS
|
| };
|
| @@ -290,9 +291,7 @@ class LiveRange: public ZoneObject {
|
| LOperand* CreateAssignedOperand(Zone* zone);
|
| int assigned_register() const { return assigned_register_; }
|
| int spill_start_index() const { return spill_start_index_; }
|
| - void set_assigned_register(int reg,
|
| - RegisterKind register_kind,
|
| - Zone* zone);
|
| + void set_assigned_register(int reg, Zone* zone);
|
| void MakeSpilled(Zone* zone);
|
|
|
| // Returns use position in this live range that follows both start
|
| @@ -323,7 +322,7 @@ class LiveRange: public ZoneObject {
|
| // live range to the result live range.
|
| void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
|
|
|
| - bool IsDouble() const { return is_double_; }
|
| + RegisterKind Kind() const { return kind_; }
|
| bool HasRegisterAssigned() const {
|
| return assigned_register_ != kInvalidAssignment;
|
| }
|
| @@ -392,7 +391,7 @@ class LiveRange: public ZoneObject {
|
|
|
| int id_;
|
| bool spilled_;
|
| - bool is_double_;
|
| + RegisterKind kind_;
|
| int assigned_register_;
|
| UseInterval* last_interval_;
|
| UseInterval* first_interval_;
|
| @@ -406,6 +405,8 @@ class LiveRange: public ZoneObject {
|
| LOperand* current_hint_operand_;
|
| LOperand* spill_operand_;
|
| int spill_start_index_;
|
| +
|
| + friend class LAllocator; // Assigns to kind_.
|
| };
|
|
|
|
|
| @@ -568,9 +569,7 @@ class LAllocator BASE_EMBEDDED {
|
| HBasicBlock* block,
|
| HBasicBlock* pred);
|
|
|
| - inline void SetLiveRangeAssignedRegister(LiveRange* range,
|
| - int reg,
|
| - RegisterKind register_kind);
|
| + inline void SetLiveRangeAssignedRegister(LiveRange* range, int reg);
|
|
|
| // Return parallel move that should be used to connect ranges split at the
|
| // given position.
|
|
|