< prev index next >

test/compiler/c2/Test8002069.java

Print this page
rev 11557 : 8132919: use package in compiler tests
Reviewed-by: duke

*** 25,76 **** /** * @test * @bug 8002069 * @summary Assert failed in C2: assert(field->edge_count() > 0) failed: sanity * ! * @run main/othervm -Xmx32m -XX:+IgnoreUnrecognizedVMOptions -Xbatch -XX:CompileCommand=exclude,Test8002069.dummy Test8002069 */ ! abstract class O { int f; ! public O() { f = 5; } abstract void put(int i); public int foo(int i) { put(i); return i; } ! }; ! class A extends O { int[] a; public A(int s) { a = new int[s]; } public void put(int i) { ! a[i%a.length] = i; } ! } ! class B extends O { int sz; int[] a; public B(int s) { sz = s; a = new int[s]; } public void put(int i) { ! a[i%sz] = i; } ! } - public class Test8002069 { public static void main(String args[]) { int sum = 0; ! for (int i=0; i<8000; i++) { sum += test1(i); } ! for (int i=0; i<100000; i++) { sum += test2(i); } System.out.println("PASSED. sum = " + sum); } --- 25,89 ---- /** * @test * @bug 8002069 * @summary Assert failed in C2: assert(field->edge_count() > 0) failed: sanity * ! * @run main/othervm -Xmx32m -XX:+IgnoreUnrecognizedVMOptions -Xbatch ! * -XX:CompileCommand=exclude,compiler.c2.Test8002069::dummy ! * compiler.c2.Test8002069 */ ! package compiler.c2; ! ! public class Test8002069 { ! static abstract class O { int f; ! ! public O() { ! f = 5; ! } ! abstract void put(int i); + public int foo(int i) { put(i); return i; } ! } ! static class A extends O { int[] a; + public A(int s) { a = new int[s]; } + public void put(int i) { ! a[i % a.length] = i; } ! } ! static class B extends O { int sz; int[] a; + public B(int s) { sz = s; a = new int[s]; } + public void put(int i) { ! a[i % sz] = i; } ! } public static void main(String args[]) { int sum = 0; ! for (int i = 0; i < 8000; i++) { sum += test1(i); } ! for (int i = 0; i < 100000; i++) { sum += test2(i); } System.out.println("PASSED. sum = " + sum); }
*** 77,98 **** private O o; private int foo(int i) { return o.foo(i); } static int test1(int i) { Test8002069 t = new Test8002069(); t.o = new A(5); return t.foo(i); } static int test2(int i) { Test8002069 t = new Test8002069(); t.o = new B(5); dummy(i); return t.foo(i); } static int dummy(int i) { ! return i*2; } } --- 90,113 ---- private O o; private int foo(int i) { return o.foo(i); } + static int test1(int i) { Test8002069 t = new Test8002069(); t.o = new A(5); return t.foo(i); } + static int test2(int i) { Test8002069 t = new Test8002069(); t.o = new B(5); dummy(i); return t.foo(i); } static int dummy(int i) { ! return i * 2; } }
< prev index next >