Index: src/lithium-allocator.cc |
diff --git a/src/lithium-allocator.cc b/src/lithium-allocator.cc |
index c80c4670e40a01cd210cc1260c030699e4212a1b..5eb95e5e9fae7c74c9f116e793ce5c6b747513d5 100644 |
--- a/src/lithium-allocator.cc |
+++ b/src/lithium-allocator.cc |
@@ -229,13 +229,6 @@ bool LiveRange::CanBeSpilled(LifetimePosition pos) { |
} |
-UsePosition* LiveRange::FirstPosWithHint() const { |
- UsePosition* pos = first_pos_; |
- while (pos != NULL && !pos->HasHint()) pos = pos->next(); |
- return pos; |
-} |
- |
- |
LOperand* LiveRange::CreateAssignedOperand(Zone* zone) { |
LOperand* op = NULL; |
if (HasRegisterAssigned()) { |
@@ -1813,26 +1806,23 @@ bool LAllocator::TryAllocateFreeReg(LiveRange* current) { |
free_until_pos[cur_reg] = Min(free_until_pos[cur_reg], next_intersection); |
} |
- UsePosition* hinted_use = current->FirstPosWithHint(); |
- if (hinted_use != NULL) { |
- LOperand* hint = hinted_use->hint(); |
- if (hint->IsRegister() || hint->IsDoubleRegister()) { |
- int register_index = hint->index(); |
- TraceAlloc( |
- "Found reg hint %s (free until [%d) for live range %d (end %d[).\n", |
- RegisterName(register_index), |
- free_until_pos[register_index].Value(), |
- current->id(), |
- current->End().Value()); |
- |
- // The desired register is free until the end of the current live range. |
- if (free_until_pos[register_index].Value() >= current->End().Value()) { |
- TraceAlloc("Assigning preferred reg %s to live range %d\n", |
- RegisterName(register_index), |
- current->id()); |
- SetLiveRangeAssignedRegister(current, register_index, mode_, zone_); |
- return true; |
- } |
+ LOperand* hint = current->FirstHint(); |
+ if (hint != NULL && (hint->IsRegister() || hint->IsDoubleRegister())) { |
+ int register_index = hint->index(); |
+ TraceAlloc( |
+ "Found reg hint %s (free until [%d) for live range %d (end %d[).\n", |
+ RegisterName(register_index), |
+ free_until_pos[register_index].Value(), |
+ current->id(), |
+ current->End().Value()); |
+ |
+ // The desired register is free until the end of the current live range. |
+ if (free_until_pos[register_index].Value() >= current->End().Value()) { |
+ TraceAlloc("Assigning preferred reg %s to live range %d\n", |
+ RegisterName(register_index), |
+ current->id()); |
+ SetLiveRangeAssignedRegister(current, register_index, mode_, zone_); |
+ return true; |
} |
} |