test/compiler/6823453/Test.java

Thu, 20 Oct 2011 10:32:37 -0700

author
katleman
date
Thu, 20 Oct 2011 10:32:37 -0700
changeset 3191
3170e4044f2d
parent 1907
c18cbe5936b8
child 6876
710a3c8b516e
permissions
-rw-r--r--

Added tag jdk8-b10 for changeset d815de2e85e5

kvn@1139 1 /*
trims@1907 2 * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
kvn@1139 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
kvn@1139 4 *
kvn@1139 5 * This code is free software; you can redistribute it and/or modify it
kvn@1139 6 * under the terms of the GNU General Public License version 2 only, as
kvn@1139 7 * published by the Free Software Foundation.
kvn@1139 8 *
kvn@1139 9 * This code is distributed in the hope that it will be useful, but WITHOUT
kvn@1139 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
kvn@1139 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
kvn@1139 12 * version 2 for more details (a copy is included in the LICENSE file that
kvn@1139 13 * accompanied this code).
kvn@1139 14 *
kvn@1139 15 * You should have received a copy of the GNU General Public License version
kvn@1139 16 * 2 along with this work; if not, write to the Free Software Foundation,
kvn@1139 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
kvn@1139 18 *
trims@1907 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 20 * or visit www.oracle.com if you need additional information or have any
trims@1907 21 * questions.
kvn@1139 22 *
kvn@1139 23 */
kvn@1139 24
kvn@1139 25 /*
kvn@1139 26 * @test
kvn@1139 27 * @bug 6823453
kvn@1139 28 * @summary DeoptimizeALot causes fastdebug server jvm to fail with assert(false,"unscheduable graph")
cfang@1431 29 * @run main/othervm -Xcomp -XX:+IgnoreUnrecognizedVMOptions -XX:CompileOnly=Test -XX:+DeoptimizeALot Test
kvn@1139 30 */
kvn@1139 31
kvn@1139 32 public class Test {
kvn@1139 33
kvn@1139 34 static long vara_1 = 1L;
kvn@1139 35
kvn@1139 36 static void testa() {
kvn@1139 37 short var_2 = (byte) 1.0E10;
kvn@1139 38
kvn@1139 39 for ( Object temp = new byte[(byte)1.0E10]; true ;
kvn@1139 40 var_2 = "1".equals("0") ? ((byte) vara_1) : 1 ) {}
kvn@1139 41 }
kvn@1139 42
kvn@1139 43 static void testb() {
kvn@1139 44 long var_1 = -1L;
kvn@1139 45
kvn@1139 46 short var_2 = (byte) 1.0E10;
kvn@1139 47
kvn@1139 48 for ( Object temp = new byte[(byte)1.0E10]; true ;
kvn@1139 49 var_2 = "1".equals("0") ? ((byte) var_1) : 1 ) {}
kvn@1139 50 }
kvn@1139 51
kvn@1139 52 static void testc() {
kvn@1139 53 long var_1 = -1L;
kvn@1139 54 if (vara_1 > 0) var_1 = 1L;
kvn@1139 55
kvn@1139 56 int var_2 = (byte)var_1 - 128;
kvn@1139 57
kvn@1139 58 for ( Object temp = new byte[var_2]; true ;
kvn@1139 59 var_2 = "1".equals("0") ? 2 : 1 ) {}
kvn@1139 60 }
kvn@1139 61
kvn@1139 62 static void testd() {
kvn@1139 63 long var_1 = 0L;
kvn@1139 64
kvn@1139 65 int var_2 = (byte)var_1 + 1;
kvn@1139 66 for (int i=0; i<2 ; i++) var_2 = var_2 - 1;
kvn@1139 67
kvn@1139 68 for ( Object temp = new byte[var_2]; true ;
kvn@1139 69 var_2 = "1".equals("0") ? 2 : 1 ) {}
kvn@1139 70 }
kvn@1139 71
kvn@1139 72 public static void main(String[] args) throws Exception {
kvn@1139 73 int nex = 0;
kvn@1139 74
kvn@1139 75 try {
kvn@1139 76 testa();
kvn@1139 77 }
kvn@1139 78 catch (java.lang.NegativeArraySizeException ex) { nex++; }
kvn@1139 79 try {
kvn@1139 80 testb();
kvn@1139 81 }
kvn@1139 82 catch (java.lang.NegativeArraySizeException ex) { nex++; }
kvn@1139 83 try {
kvn@1139 84 testc();
kvn@1139 85 }
kvn@1139 86 catch (java.lang.NegativeArraySizeException ex) { nex++; }
kvn@1139 87 try {
kvn@1139 88 testd();
kvn@1139 89 }
kvn@1139 90 catch (java.lang.NegativeArraySizeException ex) { nex++; }
kvn@1139 91
kvn@1139 92 if (nex != 4)
kvn@1139 93 System.exit(97);
kvn@1139 94 }
kvn@1139 95 }
kvn@1139 96

mercurial