src/share/classes/com/sun/tools/javac/jvm/Code.java

changeset 2406
372fd7283bf0
parent 2303
dac1b0a17386
child 2525
2eb010b6cb22
child 2534
71a31843f550
     1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Code.java	Wed May 28 11:07:07 2014 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Code.java	Thu May 29 15:28:01 2014 +0100
     1.3 @@ -1925,6 +1925,13 @@
     1.4              return aliveRanges.isEmpty() ? null : aliveRanges.get(aliveRanges.size() - 1);
     1.5          }
     1.6  
     1.7 +        void removeLastRange() {
     1.8 +            Range lastRange = lastRange();
     1.9 +            if (lastRange != null) {
    1.10 +                aliveRanges.remove(lastRange);
    1.11 +            }
    1.12 +        }
    1.13 +
    1.14          @Override
    1.15          public String toString() {
    1.16              if (aliveRanges == null) {
    1.17 @@ -1955,9 +1962,7 @@
    1.18                      }
    1.19                  }
    1.20              } else {
    1.21 -                if (!aliveRanges.isEmpty()) {
    1.22 -                    aliveRanges.remove(aliveRanges.size() - 1);
    1.23 -                }
    1.24 +                removeLastRange();
    1.25              }
    1.26          }
    1.27  
    1.28 @@ -1965,16 +1970,14 @@
    1.29              if (aliveRanges.isEmpty()) {
    1.30                  return false;
    1.31              }
    1.32 -            Range range = lastRange();
    1.33 -            return range.length == Character.MAX_VALUE;
    1.34 +            return lastRange().length == Character.MAX_VALUE;
    1.35          }
    1.36  
    1.37          public boolean isLastRangeInitialized() {
    1.38              if (aliveRanges.isEmpty()) {
    1.39                  return false;
    1.40              }
    1.41 -            Range range = lastRange();
    1.42 -            return range.start_pc != Character.MAX_VALUE;
    1.43 +            return lastRange().start_pc != Character.MAX_VALUE;
    1.44          }
    1.45  
    1.46          public Range getWidestRange() {
    1.47 @@ -2095,7 +2098,7 @@
    1.48                  v.closeRange(length);
    1.49                  putVar(v);
    1.50              } else {
    1.51 -                v.lastRange().start_pc = Character.MAX_VALUE;
    1.52 +                v.removeLastRange();
    1.53              }
    1.54          }
    1.55      }

mercurial