1.1 --- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java Tue Feb 04 17:38:03 2020 +0800 1.2 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java Tue Feb 04 17:57:00 2020 +0800 1.3 @@ -1222,9 +1222,10 @@ 1.4 code.resolve(c.jumpTrue(), startpc); 1.5 code.resolve(c.falseJumps); 1.6 } 1.7 - code.resolve(loopEnv.info.exit); 1.8 - if (loopEnv.info.exit != null) { 1.9 - loopEnv.info.exit.state.defined.excludeFrom(code.nextreg); 1.10 + Chain exit = loopEnv.info.exit; 1.11 + if (exit != null) { 1.12 + code.resolve(exit); 1.13 + exit.state.defined.excludeFrom(code.nextreg); 1.14 } 1.15 } 1.16 1.17 @@ -1235,7 +1236,11 @@ 1.18 public void visitLabelled(JCLabeledStatement tree) { 1.19 Env<GenContext> localEnv = env.dup(tree, new GenContext()); 1.20 genStat(tree.body, localEnv, CRT_STATEMENT); 1.21 - code.resolve(localEnv.info.exit); 1.22 + Chain exit = localEnv.info.exit; 1.23 + if (exit != null) { 1.24 + code.resolve(exit); 1.25 + exit.state.defined.excludeFrom(code.nextreg); 1.26 + } 1.27 } 1.28 1.29 public void visitSwitch(JCSwitch tree) { 1.30 @@ -1344,7 +1349,11 @@ 1.31 } 1.32 1.33 // Resolve all breaks. 1.34 - code.resolve(switchEnv.info.exit); 1.35 + Chain exit = switchEnv.info.exit; 1.36 + if (exit != null) { 1.37 + code.resolve(exit); 1.38 + exit.state.defined.excludeFrom(code.nextreg); 1.39 + } 1.40 1.41 // If we have not set the default offset, we do so now. 1.42 if (code.get4(tableBase) == -1) {