Mercurial > hg > icedtea7-forest > langtools
changeset 1836:3eab691bd9ac icedtea-2.6pre07
Merge jdk7u80-b02
author | andrew |
---|---|
date | Tue, 26 Aug 2014 17:33:01 +0100 |
parents | f43a81252f82 (current diff) 5bd6f3adf690 (diff) |
children | ce230c0bdf04 |
files | .hgtags |
diffstat | 4 files changed, 128 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Aug 11 15:05:28 2014 +0100 +++ b/.hgtags Tue Aug 26 17:33:01 2014 +0100 @@ -421,6 +421,7 @@ 2a9f5c00ba46f895bc9d16a584bf7d80c1822268 jdk7u55-b02 0479d260ac835eb3f0c7f3d7d15be0599b92a20a jdk7u55-b03 a244cc40ae0b29028ff8503ee516cb5f9e3db6e3 jdk7u55-b04 +25d63d986653d81522b01bbd2664083ae5fdc243 jdk7u65-b00 25d63d986653d81522b01bbd2664083ae5fdc243 jdk7u55-b05 76eeeaace70d38795eef5215f758493421cee0ac jdk7u55-b06 08f7914d6aa947e73269b4e60110ed12573ffa28 jdk7u55-b07 @@ -432,7 +433,10 @@ 81bf1ca3a3a71c628b7d952ba47c6f200a223f27 jdk7u55-b13 96d55b4d88fea1d9f8227e70003210a6c10a1dba jdk7u55-b30 c1964a222000b4884b992fdbaf8f62a45fb893c9 jdk7u55-b14 +56c12a84e86eb47e24e4bc50a4602a276e6b4e4b jdk7u55-b15 4f6115ba266e5489b5e1968a28304f82be1f5641 jdk7u55-b31 +ec8793f5aa4fb0aff4aa2f02f458fa6720f3ec6f jdk7u55-b32 +13fed9e9f022e4a7f914c8410cbaa6f6564d4efd jdk7u55-b33 849b17bc6e9a08fa41e0ef631e51366a09842e64 jdk7u60-b00 b19e375d9829daf207b1bdc7f908a3e1d548462c jdk7u60-b01 954e1616449af74f68aed57261cbeb62403377f1 jdk7u60-b02 @@ -457,7 +461,29 @@ 5f917c4b87a952a8bf79de08f3e2dd3e56c41657 icedtea-2.6pre05 7568ebdada118da1d1a6addcf6316ffda21801fd jdk7u60-b15 057caf9e0774e7c530c5710127f70c8d5f46deab jdk7u60-b16 +b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b17 b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b18 -b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b17 +7effcbb8d1fd7ced194a294e29eea28bf552ac34 jdk7u65-b01 40aa95c8477aa0a3f090859570f5536afc9026b7 jdk7u60-b19 +75b8c65f4c148baa4084022035b22de47df9426b jdk7u65-b02 +16bb02dae837566f3c350c6313b09f6110dcba68 jdk7u65-b03 +91677116552f743f3589f3d2ba255fa1079c0c48 jdk7u65-b04 +8f585b94be8c83f89fc481cf010a129ef75cd31b jdk7u65-b05 +c3a8556785e89b7868fc4ece666120dbf8c5c7a7 jdk7u65-b06 +1978b6434c4f717ba1bd715f016ab99dff879857 jdk7u65-b07 +684f0285b699d304d1efff487b550ff2e1679e98 jdk7u65-b08 +2715f752385349274b43a1efaab5733bafc40557 jdk7u65-b09 +98cac38ef1302939a37b85c0208a7969ba4cd8ad jdk7u65-b10 +4c40603840a8ffbf5e30049b52ff336a9aca04c1 jdk7u65-b11 +36b01ef633b2e70836b5914aa6924e81ff4d41ec jdk7u65-b12 +5ba8a1ef0f82d341ede3ec2fdac7e012e42594c4 jdk7u65-b13 +52769f410515f6a7fa66a93b24a1327fa6b6174a jdk7u65-b14 +7f2891e4c6fcd9c0e31f50189a50c8de189d774f jdk7u65-b15 +dea7e67840b68ae6752b37e69e242dae2765b878 jdk7u65-b16 +15a051dfadb6a7d014f0d2739ccf0a63ade56313 jdk7u65-b17 +576e2fd21368ba67f1f19d3180f78bc440b795a1 jdk7u65-b30 +0f809f893588548a3b5c8441e28c9e0a62bc13ef jdk7u65-b18 +eae289997f58ef6396dc323c3d5b93a56fb43573 jdk7u65-b19 +afc940d62b49059f565f87c83343fa3d28df883b jdk7u65-b32 772aad4e9681828b8ee193b9ed971cbfe6c7f347 jdk7u80-b00 +6c307a0b7a94e002d8a2532ffd8146d6c53f42d3 jdk7u80-b01
--- a/src/share/classes/com/sun/tools/javac/jvm/Gen.java Mon Aug 11 15:05:28 2014 +0100 +++ b/src/share/classes/com/sun/tools/javac/jvm/Gen.java Tue Aug 26 17:33:01 2014 +0100 @@ -1067,7 +1067,7 @@ boolean testFirst) { Env<GenContext> loopEnv = env.dup(loop, new GenContext()); int startpc = code.entryPoint(); - if (testFirst) { + if (testFirst) { //while or for loop CondItem c; if (cond != null) { code.statBegin(cond.pos); @@ -1097,6 +1097,9 @@ code.resolve(c.falseJumps); } code.resolve(loopEnv.info.exit); + if (loopEnv.info.exit != null) { + loopEnv.info.exit.state.defined.excludeFrom(code.nextreg); + } } public void visitForeachLoop(JCEnhancedForLoop tree) {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8050386/WrongStackframeGenerationTest1.java Tue Aug 26 17:33:01 2014 +0100 @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8050386 + * @summary Verification error due to a bad stackmap frame generated by javac + */ + +public class WrongStackframeGenerationTest1 { + public static void main(String[] args) {} + + static void foo(){ + while (true) { + int i = 0; + break; + } + switch (1) { + case 1: + int j = 0; + case 2: + bar(); + } + } + + static void bar() {} +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/T8050386/WrongStackframeGenerationTest2.java Tue Aug 26 17:33:01 2014 +0100 @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8050386 + * @summary Verification error due to a bad stackmap frame generated by javac + */ + +public class WrongStackframeGenerationTest2 { + public static void main(String[] args) {} + + static void foo() { + int len; + for (;;) { + try { + len = 1; + break; + } catch (Exception e) { + } + } + + try { + if (len == -1) { + len = 0; + } + } finally { + } + } +}