Index: src/lithium-allocator.cc |
diff --git a/src/lithium-allocator.cc b/src/lithium-allocator.cc |
index db0bc8b72d22ea8ce442dc30651a2f296e7ec4ea..4c7a1983c4fd7698be7b8f1ec3acbca7e663a168 100644 |
--- a/src/lithium-allocator.cc |
+++ b/src/lithium-allocator.cc |
@@ -1786,9 +1786,7 @@ bool LAllocator::TryAllocateFreeReg(LiveRange* current) { |
} else { |
// Split the interval at the nearest gap and never split an interval at its |
// start position. |
- LifetimePosition pos = |
- LifetimePosition::FromInstructionIndex( |
- chunk_->NearestGapPos(free_pos[max_reg].InstructionIndex())); |
+ LifetimePosition pos = free_pos[max_reg]; |
fschneider
2010/12/07 14:47:08
Fix the comment above.
|
if (pos.Value() <= current->Start().Value()) return false; |
LiveRange* second_range = Split(current, pos); |
AddToUnhandledSorted(second_range); |
@@ -1871,9 +1869,7 @@ void LAllocator::AllocateBlockedReg(LiveRange* current) { |
void LAllocator::SplitAndSpillIntersecting(LiveRange* current) { |
ASSERT(current->HasRegisterAssigned()); |
int reg = current->assigned_register(); |
- LifetimePosition split_pos = |
- LifetimePosition::FromInstructionIndex( |
- chunk_->NearestGapPos(current->Start().InstructionIndex())); |
+ LifetimePosition split_pos = current->Start(); |
for (int i = 0; i < active_live_ranges_.length(); ++i) { |
LiveRange* range = active_live_ranges_[i]; |
if (range->assigned_register() == reg) { |
@@ -2012,8 +2008,6 @@ void LAllocator::SplitAndSpill(LiveRange* range, |
void LAllocator::SplitAndSpill(LiveRange* range, LifetimePosition at) { |
- at = LifetimePosition::FromInstructionIndex( |
- chunk_->NearestGapPos(at.InstructionIndex())); |
LiveRange* second_part = Split(range, at); |
Spill(second_part); |
} |