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. |