Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/test/gc/shenandoah/jni/TestCriticalNativeStress.sh
32285 views
1
#!/bin/sh
2
3
#
4
# Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
5
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6
#
7
# This code is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License version 2 only, as
9
# published by the Free Software Foundation.
10
#
11
# This code is distributed in the hope that it will be useful, but WITHOUT
12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
# version 2 for more details (a copy is included in the LICENSE file that
15
# accompanied this code).
16
#
17
# You should have received a copy of the GNU General Public License version
18
# 2 along with this work; if not, write to the Free Software Foundation,
19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
#
21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
# or visit www.oracle.com if you need additional information or have any
23
# questions.
24
#
25
26
##
27
## @test
28
## @requires (os.arch == "x86_64" | os.arch == "amd64" | os.arch=="x86" | os.arch=="i386")
29
## @summary test JNI critical arrays support in Shenandoah
30
## @run shell/timeout=480 TestCriticalNativeStress.sh
31
##
32
33
if [ "${TESTSRC}" = "" ]
34
then
35
TESTSRC=${PWD}
36
echo "TESTSRC not set. Using "${TESTSRC}" as default"
37
fi
38
echo "TESTSRC=${TESTSRC}"
39
## Adding common setup Variables for running shell tests.
40
. ${TESTSRC}/../../../test_env.sh
41
42
# set platform-dependent variables
43
if [ "$VM_OS" = "linux" ]; then
44
echo "Testing on linux"
45
gcc_cmd=`which gcc`
46
if [ "x$gcc_cmd" = "x" ]; then
47
echo "WARNING: gcc not found. Cannot execute test." 2>&1
48
exit 0;
49
fi
50
else
51
echo "Test passed; only valid for linux: $VM_OS"
52
exit 0;
53
fi
54
55
56
THIS_DIR=.
57
58
cp ${TESTSRC}${FS}*.java ${THIS_DIR}
59
${TESTJAVA}${FS}bin${FS}javac TestCriticalNativeStress.java
60
61
# default target 64-bits
62
GCC_TARGET_BITS=""
63
if [ "$VM_BITS" = "32" ]; then
64
GCC_TARGET_BITS="-m32"
65
fi
66
67
$gcc_cmd -O1 -DLINUX -fPIC -shared ${GCC_TARGET_BITS} \
68
-o ${THIS_DIR}${FS}libTestCriticalNative.so \
69
-I${TESTJAVA}${FS}include \
70
-I${TESTJAVA}${FS}include${FS}linux \
71
${TESTSRC}${FS}libTestCriticalNative.c
72
73
# run the java test in the background
74
75
cmd="${TESTJAVA}${FS}bin${FS}java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:+ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives \
76
-Djava.library.path=${THIS_DIR}${FS} TestCriticalNativeStress"
77
78
echo "$cmd"
79
eval $cmd
80
81
if [ $? -ne 0 ]
82
then
83
echo "Test Failed"
84
exit 1
85
fi
86
87
cmd="${TESTJAVA}${FS}bin${FS}java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCMode=passive -XX:-ShenandoahDegeneratedGC -Xcomp -Xmx512M -XX:+CriticalJNINatives \
88
-Djava.library.path=${THIS_DIR}${FS} TestCriticalNativeStress"
89
90
echo "$cmd"
91
eval $cmd
92
93
if [ $? -ne 0 ]
94
then
95
echo "Test Failed"
96
exit 1
97
fi
98
99
cmd="${TESTJAVA}${FS}bin${FS}java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -Xcomp -Xmx256M -XX:+CriticalJNINatives \
100
-Djava.library.path=${THIS_DIR}${FS} TestCriticalNativeStress"
101
102
echo "$cmd"
103
eval $cmd
104
105
if [ $? -ne 0 ]
106
then
107
echo "Test Failed"
108
exit 1
109
fi
110
111
cmd="${TESTJAVA}${FS}bin${FS}java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=aggressive -Xcomp -Xmx512M -XX:+CriticalJNINatives \
112
-Djava.library.path=${THIS_DIR}${FS} TestCriticalNativeStress"
113
114
echo "$cmd"
115
eval $cmd
116
117
if [ $? -ne 0 ]
118
then
119
echo "Test Failed"
120
exit 1
121
fi
122
123
124