never@504: /* never@504: * Copyright 2008 Sun Microsystems, Inc. All rights reserved. never@504: * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: * never@504: */ never@504: never@504: /* never@504: * @test never@504: * @bug 6659207 never@504: * @summary access violation in CompilerThread0 never@504: */ never@504: never@504: public class Test { never@504: static int[] array = new int[12]; never@504: never@504: static int index(int i) { never@504: if (i == 0) return 0; never@504: for (int n = 0; n < array.length; n++) never@504: if (i < array[n]) return n; never@504: return -1; never@504: } never@504: never@504: static int test(int i) { never@504: int result = 0; never@504: i = index(i); never@504: if (i >= 0) never@504: if (array[i] != 0) never@504: result++; never@504: never@504: if (i != -1) never@504: array[i]++; never@504: never@504: return result; never@504: } never@504: never@504: public static void main(String[] args) { never@504: int total = 0; never@504: for (int i = 0; i < 100000; i++) { never@504: total += test(10); never@504: } never@504: System.out.println(total); never@504: } never@504: }