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

changeset 2595
1cf5a53613ae
parent 2572
31d2a837676f
child 2702
9ca8d8713094
child 2709
dca7f60e618d
equal deleted inserted replaced
2593:e7560bceb36a 2595:1cf5a53613ae
2015 2015
2016 public void closeAliveRanges(JCTree tree, int closingCP) { 2016 public void closeAliveRanges(JCTree tree, int closingCP) {
2017 List<VarSymbol> locals = lvtRanges.getVars(meth, tree); 2017 List<VarSymbol> locals = lvtRanges.getVars(meth, tree);
2018 for (LocalVar localVar: lvar) { 2018 for (LocalVar localVar: lvar) {
2019 for (VarSymbol aliveLocal : locals) { 2019 for (VarSymbol aliveLocal : locals) {
2020 if (localVar == null) { 2020 if (localVar != null) {
2021 return; 2021 if (localVar.sym == aliveLocal && localVar.lastRange() != null) {
2022 } 2022 char length = (char)(closingCP - localVar.lastRange().start_pc);
2023 if (localVar.sym == aliveLocal && localVar.lastRange() != null) { 2023 if (length < Character.MAX_VALUE) {
2024 char length = (char)(closingCP - localVar.lastRange().start_pc); 2024 localVar.closeRange(length);
2025 if (length < Character.MAX_VALUE) { 2025 }
2026 localVar.closeRange(length);
2027 } 2026 }
2028 } 2027 }
2029 } 2028 }
2030 } 2029 }
2031 } 2030 }

mercurial