--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Thu Jun 26 16:39:14 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Fri Jun 27 20:32:12 2014 +0100
@@ -1953,12 +1953,12 @@
}
}
- public void closeRange(char end) {
- if (isLastRangeInitialized()) {
+ public void closeRange(char length) {
+ if (isLastRangeInitialized() && length > 0) {
Range range = lastRange();
if (range != null) {
if (range.length == Character.MAX_VALUE) {
- range.length = end;
+ range.length = length;
}
}
} else {
@@ -2022,7 +2022,7 @@
}
if (localVar.sym == aliveLocal && localVar.lastRange() != null) {
char length = (char)(closingCP - localVar.lastRange().start_pc);
- if (length > 0 && length < Character.MAX_VALUE) {
+ if (length < Character.MAX_VALUE) {
localVar.closeRange(length);
}
}
@@ -2093,7 +2093,7 @@
lvar[adr].isLastRangeInitialized()) {
LocalVar v = lvar[adr];
char length = (char)(curCP() - v.lastRange().start_pc);
- if (length > 0 && length < Character.MAX_VALUE) {
+ if (length < Character.MAX_VALUE) {
lvar[adr] = v.dup();
v.closeRange(length);
putVar(v);