aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
diff options
context:
space:
mode:
authorIan Zerny <zerny@google.com>2017-06-27 11:15:55 +0200
committerIan Zerny <zerny@google.com>2017-06-27 11:15:55 +0200
commitefb2dcfffab833f7486935a7528f8e5584d83b54 (patch)
tree6893d45344dd8659112c2db730ec7f33828c4e62 /src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
parent47aded70f06f7dcea62279d9dca36f2ae70e6167 (diff)
downloadr8-efb2dcfffab833f7486935a7528f8e5584d83b54.tar.gz
Fix off-by-one error in range computation.
Change-Id: Id87f76e715ba060fed8bbbf74f85184fe455784a
Diffstat (limited to 'src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java')
-rw-r--r--src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
index 30d833b9f..f5f82edc7 100644
--- a/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
+++ b/src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java
@@ -301,7 +301,7 @@ public class LinearScanRegisterAllocator implements RegisterAllocator {
ListIterator<LocalRange> it = openRanges.listIterator(0);
while (it.hasNext()) {
LocalRange openRange = it.next();
- if (openRange.end < index) {
+ if (openRange.end <= index) {
it.remove();
assert currentLocals.get(openRange.register) == openRange.local;
currentLocals.put(openRange.register, null);