< prev index next >

test/hotspot/jtreg/gc/shenandoah/jni/TestJNICritical.java

Print this page

 1 /*
 2  * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.

 3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 4  *
 5  * This code is free software; you can redistribute it and/or modify it
 6  * under the terms of the GNU General Public License version 2 only, as
 7  * published by the Free Software Foundation.
 8  *
 9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  *
23  */
24 
25 /* @test
26  * @summary test JNI critical arrays support in Shenandoah
27  * @key randomness
28  * @requires vm.gc.Shenandoah
29  * @library /test/lib
30  *
31  * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ShenandoahVerify                 TestJNICritical
32  * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive TestJNICritical
33  */
34 










35 import java.util.Arrays;
36 import java.util.Random;
37 import jdk.test.lib.Utils;
38 
39 public class TestJNICritical {
40     static {
41         System.loadLibrary("TestJNICritical");
42     }
43 
44     private static final int NUM_RUNS   = 10000;
45     private static final int ARRAY_SIZE = 10000;
46     private static int[] a;
47     private static int[] b;
48 
49     private static native void copyAtoB(int[] a, int[] b);
50 
51     public static void main(String[] args) {
52         a = new int[ARRAY_SIZE];
53         b = new int[ARRAY_SIZE];
54         for (int i = 0; i < NUM_RUNS; i++) {

 1 /*
 2  * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
 3  * Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
 4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 5  *
 6  * This code is free software; you can redistribute it and/or modify it
 7  * under the terms of the GNU General Public License version 2 only, as
 8  * published by the Free Software Foundation.
 9  *
10  * This code is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13  * version 2 for more details (a copy is included in the LICENSE file that
14  * accompanied this code).
15  *
16  * You should have received a copy of the GNU General Public License version
17  * 2 along with this work; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19  *
20  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21  * or visit www.oracle.com if you need additional information or have any
22  * questions.
23  *
24  */
25 
26 /* @test id=default
27  * @summary test JNI critical arrays support in Shenandoah
28  * @key randomness
29  * @requires vm.gc.Shenandoah
30  * @library /test/lib
31  *
32  * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ShenandoahVerify                 TestJNICritical
33  * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive TestJNICritical
34  */
35 
36  /* @test id=generational
37   * @summary test JNI critical arrays support in Shenandoah
38   * @key randomness
39   * @requires vm.gc.Shenandoah
40   * @library /test/lib
41   *
42   * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational -XX:+ShenandoahVerify TestJNICritical
43   * @run main/othervm/native -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=generational                       TestJNICritical
44   */
45 
46 import java.util.Arrays;
47 import java.util.Random;
48 import jdk.test.lib.Utils;
49 
50 public class TestJNICritical {
51     static {
52         System.loadLibrary("TestJNICritical");
53     }
54 
55     private static final int NUM_RUNS   = 10000;
56     private static final int ARRAY_SIZE = 10000;
57     private static int[] a;
58     private static int[] b;
59 
60     private static native void copyAtoB(int[] a, int[] b);
61 
62     public static void main(String[] args) {
63         a = new int[ARRAY_SIZE];
64         b = new int[ARRAY_SIZE];
65         for (int i = 0; i < NUM_RUNS; i++) {
< prev index next >