Reviewers: fschneider,
Description:
Fix bug LAllocator::FindOptimalSplitPos: it was calculating start_block and
end_block incorrectly.
This bug does not affect correctness of allocation but can severely degrade
it's
quality (cause spills in loop bodies).
Please review this at http://codereview.chromium.org/6901148/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/lithium-allocator.cc
Index: src/lithium-allocator.cc
diff --git a/src/lithium-allocator.cc b/src/lithium-allocator.cc
index
a42d5223150d8a889ac6e07e24dfadc40459b418..b858cc04d2b3ff1b58f504eaa6911bf09dcc6833
100644
--- a/src/lithium-allocator.cc
+++ b/src/lithium-allocator.cc
@@ -2029,8 +2029,8 @@ LifetimePosition
LAllocator::FindOptimalSplitPos(LifetimePosition start,
// We have no choice
if (start_instr == end_instr) return end;
- HBasicBlock* end_block = GetBlock(start);
- HBasicBlock* start_block = GetBlock(end);
+ HBasicBlock* start_block = GetBlock(start);
+ HBasicBlock* end_block = GetBlock(end);
if (end_block == start_block) {
// The interval is split in the same basic block. Split at latest
possible
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev