From efb2dcfffab833f7486935a7528f8e5584d83b54 Mon Sep 17 00:00:00 2001 From: Ian Zerny Date: Tue, 27 Jun 2017 11:15:55 +0200 Subject: Fix off-by-one error in range computation. Change-Id: Id87f76e715ba060fed8bbbf74f85184fe455784a --- .../com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/com/android/tools/r8/ir/regalloc/LinearScanRegisterAllocator.java') 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 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); -- cgit v1.2.3