test/compiler/6659207/Test.java

Tue, 18 Mar 2008 23:54:17 -0700

author
never
date
Tue, 18 Mar 2008 23:54:17 -0700
changeset 504
8bb88f9877e5
child 612
2a8ec427fbe1
permissions
-rw-r--r--

6659207: access violation in CompilerThread0
Summary: split_thru_phi produces top on a non-dead path
Reviewed-by: kvn, rasbold, sgoldman

never@504 1 /*
never@504 2 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
never@504 3 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
never@504 4 *
never@504 5 *
never@504 6 *
never@504 7 *
never@504 8 *
never@504 9 *
never@504 10 *
never@504 11 *
never@504 12 *
never@504 13 *
never@504 14 *
never@504 15 *
never@504 16 *
never@504 17 *
never@504 18 *
never@504 19 *
never@504 20 *
never@504 21 *
never@504 22 */
never@504 23
never@504 24 /*
never@504 25 * @test
never@504 26 * @bug 6659207
never@504 27 * @summary access violation in CompilerThread0
never@504 28 */
never@504 29
never@504 30 public class Test {
never@504 31 static int[] array = new int[12];
never@504 32
never@504 33 static int index(int i) {
never@504 34 if (i == 0) return 0;
never@504 35 for (int n = 0; n < array.length; n++)
never@504 36 if (i < array[n]) return n;
never@504 37 return -1;
never@504 38 }
never@504 39
never@504 40 static int test(int i) {
never@504 41 int result = 0;
never@504 42 i = index(i);
never@504 43 if (i >= 0)
never@504 44 if (array[i] != 0)
never@504 45 result++;
never@504 46
never@504 47 if (i != -1)
never@504 48 array[i]++;
never@504 49
never@504 50 return result;
never@504 51 }
never@504 52
never@504 53 public static void main(String[] args) {
never@504 54 int total = 0;
never@504 55 for (int i = 0; i < 100000; i++) {
never@504 56 total += test(10);
never@504 57 }
never@504 58 System.out.println(total);
never@504 59 }
never@504 60 }

mercurial