< 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 >