< prev index next >
test/compiler/runtime/Test6892265.java
Print this page
rev 11557 : 8132919: use package in compiler tests
Reviewed-by: duke
*** 25,64 ****
/**
* @test
* @bug 6892265
* @summary System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes
*
! * @run main/othervm Test
*/
! public class Test {
static final int NCOPY = 1;
static final int OVERFLOW = 1;
static int[] src2 = new int[NCOPY];
static int[] dst2;
static void test() {
int N;
int SIZE;
! N = Integer.MAX_VALUE/4 + OVERFLOW;
System.arraycopy(src2, 0, dst2, N, NCOPY);
System.arraycopy(dst2, N, src2, 0, NCOPY);
}
public static void main(String[] args) {
try {
! dst2 = new int[NCOPY + Integer.MAX_VALUE/4 + OVERFLOW];
} catch (OutOfMemoryError e) {
System.exit(95); // Not enough memory
}
System.out.println("warmup");
! for (int i=0; i <11000; i++) {
test();
}
System.out.println("start");
! for (int i=0; i <1000; i++) {
test();
}
System.out.println("finish");
}
--- 25,66 ----
/**
* @test
* @bug 6892265
* @summary System.arraycopy unable to reference elements beyond Integer.MAX_VALUE bytes
*
! * @run main/othervm compiler.runtime.Test6892265
*/
! package compiler.runtime;
!
! public class Test6892265 {
static final int NCOPY = 1;
static final int OVERFLOW = 1;
static int[] src2 = new int[NCOPY];
static int[] dst2;
static void test() {
int N;
int SIZE;
! N = Integer.MAX_VALUE / 4 + OVERFLOW;
System.arraycopy(src2, 0, dst2, N, NCOPY);
System.arraycopy(dst2, N, src2, 0, NCOPY);
}
public static void main(String[] args) {
try {
! dst2 = new int[NCOPY + Integer.MAX_VALUE / 4 + OVERFLOW];
} catch (OutOfMemoryError e) {
System.exit(95); // Not enough memory
}
System.out.println("warmup");
! for (int i = 0; i < 11000; i++) {
test();
}
System.out.println("start");
! for (int i = 0; i < 1000; i++) {
test();
}
System.out.println("finish");
}
< prev index next >