9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @bug 8007294
27 * @bug 8146999
28 * @summary ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
29 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+AlwaysIncrementalInline -XX:-UseOnStackReplacement -XX:-BackgroundCompilation Test8007294
30 *
31 */
32
33 public class Test8007294 {
34
35 int i1;
36 int i2;
37
38 Test8007294(int i1, int i2) {
39 this.i1 = i1;
40 this.i2 = i2;
41 }
42
43 static int m(int v) {
44 return v;
45 }
46
47 static Test8007294 test1() {
48 Test8007294 obj = new Test8007294(10, 100);
49 int v1 = obj.i1;
50
51 int v3 = m(v1);
52 int v2 = obj.i2;
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @bug 8007294
27 * @bug 8146999
28 * @summary ReduceFieldZeroing doesn't check for dependent load and can lead to incorrect execution
29 *
30 * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+AlwaysIncrementalInline
31 * -XX:-UseOnStackReplacement -XX:-BackgroundCompilation
32 * compiler.c2.Test8007294
33 */
34
35 package compiler.c2;
36
37 public class Test8007294 {
38
39 int i1;
40 int i2;
41
42 Test8007294(int i1, int i2) {
43 this.i1 = i1;
44 this.i2 = i2;
45 }
46
47 static int m(int v) {
48 return v;
49 }
50
51 static Test8007294 test1() {
52 Test8007294 obj = new Test8007294(10, 100);
53 int v1 = obj.i1;
54
55 int v3 = m(v1);
56 int v2 = obj.i2;
|