annotate test/compiler/ciReplay/common.sh @ 20218:828056cf311f

8040792: G1: Memory usage calculation uses sizeof(this) instead of sizeof(classname) Summary: A few locations in the code use sizeof(this) which returns the size of the pointer instead of sizeof(classname) which returns the size of the sum of its members. This change fixes these errors and adds a few tests. Reviewed-by: mgerdin, brutisso
author tschatzl
date Mon, 21 Jul 2014 09:40:19 +0200
parents d64ae45dbce9
children 52b4284cb496 c83362e7de6f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
1 #!/bin/sh
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
2 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
3 # Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
5 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
6 # This code is free software; you can redistribute it and/or modify it
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
7 # under the terms of the GNU General Public License version 2 only, as
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
8 # published by the Free Software Foundation.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
9 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
10 # This code is distributed in the hope that it will be useful, but WITHOUT
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
13 # version 2 for more details (a copy is included in the LICENSE file that
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
14 # accompanied this code).
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
15 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
16 # You should have received a copy of the GNU General Public License version
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
17 # 2 along with this work; if not, write to the Free Software Foundation,
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
19 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
21 # or visit www.oracle.com if you need additional information or have any
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
22 # questions.
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
23 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
24 #
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
25
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
26 # $1 - error code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
27 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
28 # $3,.. - decription
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
29 test_fail() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
30 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
31 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
32 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
33 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
34 echo "TEST [$name] FAILED:"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
35 echo "$@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
36 exit $error
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
37 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
38
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
39 # $@ - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
40 start_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
41 # disable core dump on *nix
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
42 ulimit -S -c 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
43 # disable core dump on windows
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
44 VMOPTS="$@ -XX:-CreateMinidumpOnCrash"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
45 cmd="${JAVA} ${VMOPTS} -XX:+ReplayCompiles -XX:ReplayDataFile=${replay_data}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
46 echo $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
47 $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
48 return $?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
49 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
50
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
51 # $1 - error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
52 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
53 # $3,.. - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
54 positive_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
55 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
56 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
57 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
58 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
59 VMOPTS="${TESTVMOPTS} $@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
60 echo "POSITIVE TEST [$name]"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
61 start_test ${VMOPTS}
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
62 exit_code=$?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
63 if [ ${exit_code} -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
64 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
65 test_fail $error "$name" "exit_code[${exit_code}] != 0 during replay "\
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
66 "w/ vmopts: ${VMOPTS}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
67 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
68 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
69
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
70 # $1 - error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
71 # $2 - test name
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
72 # $2,.. - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
73 negative_test() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
74 error=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
75 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
76 name=$1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
77 shift
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
78 VMOPTS="${TESTVMOPTS} $@"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
79 echo "NEGATIVE TEST [$name]"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
80 start_test ${VMOPTS}
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
81 exit_code=$?
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
82 if [ ${exit_code} -eq 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
83 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
84 test_fail $error "$name" "exit_code[${exit_code}] == 0 during replay "\
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
85 "w/ vmopts: ${VMOPTS}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
86 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
87 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
88
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
89 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
90 common_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
91 positive_test $1 "COMMON :: THE SAME FLAGS"
12072
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
92 if [ $tiered_available -eq 1 ]
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
93 then
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
94 positive_test `expr $1 + 1` "COMMON :: TIERED" -XX:+TieredCompilation
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
95 fi
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
96 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
97
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
98 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
99 # $2 - non-tiered comp_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
100 nontiered_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
101 level=`grep "^compile " $replay_data | awk '{print $6}'`
17712
d64ae45dbce9 8027257: [TESTBUG] compiler/ciReplay/TestVM.sh : Error: Could not find or load main class negative_test
iignatyev
parents: 12079
diff changeset
102 # is level available in non-tiered
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
103 if [ "$level" -eq $2 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
104 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
105 positive_test $1 "NON-TIERED :: AVAILABLE COMP_LEVEL" \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
106 -XX:-TieredCompilation
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
107 else
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
108 negative_test `expr $1 + 1` "NON-TIERED :: UNAVAILABLE COMP_LEVEL" \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
109 -XX:-TieredCompilation
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
110 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
111 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
112
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
113 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
114 client_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
115 # testing in opposite VM
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
116 if [ $server_available -eq 1 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
117 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
118 negative_test $1 "SERVER :: NON-TIERED" -XX:-TieredCompilation \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
119 -server
12072
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
120 if [ $tiered_available -eq 1 ]
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
121 then
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
122 positive_test `expr $1 + 1` "SERVER :: TIERED" -XX:+TieredCompilation \
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
123 -server
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
124 fi
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
125 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
126 nontiered_tests `expr $1 + 2` $client_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
127 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
128
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
129 # $1 - initial error_code
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
130 server_tests() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
131 # testing in opposite VM
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
132 if [ $client_available -eq 1 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
133 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
134 # tiered is unavailable in client vm, so results w/ flags will be the same as w/o flags
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
135 negative_test $1 "CLIENT" -client
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
136 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
137 nontiered_tests `expr $1 + 2` $server_level
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
138 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
139
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
140 cleanup() {
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
141 ${RM} -f core*
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
142 ${RM} -f replay*.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
143 ${RM} -f hs_err_pid*.log
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
144 ${RM} -f test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
145 ${RM} -f test_replay.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
146 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
147
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
148 JAVA=${TESTJAVA}${FS}bin${FS}java
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
149
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
150 replay_data=test_replay.txt
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
151
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
152 ${JAVA} ${TESTVMOPTS} -Xinternalversion 2>&1 | grep debug
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
153
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
154 # Only test fastdebug
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
155 if [ $? -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
156 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
157 echo TEST SKIPPED: product build
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
158 exit 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
159 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
160
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
161 is_int=`${JAVA} ${TESTVMOPTS} -version 2>&1 | grep -c "interpreted mode"`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
162 # Not applicable for Xint
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
163 if [ $is_int -ne 0 ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
164 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
165 echo TEST SKIPPED: interpreted mode
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
166 exit 0
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
167 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
168
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
169 cleanup
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
170
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
171 client_available=`${JAVA} ${TESTVMOPTS} -client -Xinternalversion 2>&1 | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
172 grep -c Client`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
173 server_available=`${JAVA} ${TESTVMOPTS} -server -Xinternalversion 2>&1 | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
174 grep -c Server`
12072
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
175 tiered_available=`${JAVA} ${TESTVMOPTS} -XX:+TieredCompilation -XX:+PrintFlagsFinal -version | \
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
176 grep TieredCompilation | \
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
177 grep -c true`
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
178 is_tiered=`${JAVA} ${TESTVMOPTS} -XX:+PrintFlagsFinal -version | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
179 grep TieredCompilation | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
180 grep -c true`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
181 # CompLevel_simple -- C1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
182 client_level=1
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
183 # CompLevel_full_optimization -- C2 or Shark
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
184 server_level=4
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
185
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
186 echo "client_available=$client_available"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
187 echo "server_available=$server_available"
12072
6c72125a2f40 8016456: ciReplay test assumes TIERED compilation is available
iignatyev
parents: 10282
diff changeset
188 echo "tiered_available=$tiered_available"
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
189 echo "is_tiered=$is_tiered"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
190
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
191 # crash vm in compiler thread with generation replay data and 'small' dump-file
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
192 # $@ - additional vm opts
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
193 generate_replay() {
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
194 if [ $VM_OS != "windows" ]
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
195 then
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
196 # enable core dump
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
197 ulimit -c unlimited
12065
10c59b8021ec 8022655: ClassDump ignored jarStream setting
kevinw
parents: 10282
diff changeset
198
10c59b8021ec 8022655: ClassDump ignored jarStream setting
kevinw
parents: 10282
diff changeset
199 if [ $VM_OS = "solaris" ]
10c59b8021ec 8022655: ClassDump ignored jarStream setting
kevinw
parents: 10282
diff changeset
200 then
10c59b8021ec 8022655: ClassDump ignored jarStream setting
kevinw
parents: 10282
diff changeset
201 coreadm -p core $$
10c59b8021ec 8022655: ClassDump ignored jarStream setting
kevinw
parents: 10282
diff changeset
202 fi
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
203 fi
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
204
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
205 cmd="${JAVA} ${TESTVMOPTS} $@ \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
206 -Xms8m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
207 -Xmx32m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
208 -XX:MetaspaceSize=4m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
209 -XX:MaxMetaspaceSize=16m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
210 -XX:InitialCodeCacheSize=512k \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
211 -XX:ReservedCodeCacheSize=4m \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
212 -XX:ThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
213 -XX:VMThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
214 -XX:CompilerThreadStackSize=512 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
215 -XX:ParallelGCThreads=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
216 -XX:CICompilerCount=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
217 -Xcomp \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
218 -XX:CICrashAt=1 \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
219 -XX:+CreateMinidumpOnCrash \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
220 -XX:+DumpReplayDataOnError \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
221 -XX:ReplayDataFile=${replay_data} \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
222 -version"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
223 echo GENERATION OF REPLAY.TXT:
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
224 echo $cmd
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
225
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
226 ${cmd} > crash.out 2>&1
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
227
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
228 core_locations=`grep -i core crash.out | grep "location:" | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
229 sed -e 's/.*location: //'`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
230 rm crash.out
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
231 # processing core locations for *nix
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
232 if [ $VM_OS != "windows" ]
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
233 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
234 # remove 'or' between '/core.<pid>' and 'core'
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
235 core_locations=`echo $core_locations | \
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
236 sed -e 's/\([^ ]*\) or \([^ ]*\)/\1 \2/'`
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
237 # add <core_path>/core.<pid> core.<pid>
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
238 core_with_dir=`echo $core_locations | awk '{print $1}'`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
239 dir=`dirname $core_with_dir`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
240 core_with_pid=`echo $core_locations | awk '{print $2}'`
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
241 if [ -n ${core_with_pid} ]
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
242 then
10282
cd6f6fccd287 8014068: TEST_BUG: compiler/ciReplay/TestSA.sh fails on Windows: core wasn't generated
iignatyev
parents: 10197
diff changeset
243 core_locations="$core_locations $dir${FS}$core_with_pid $core_with_pid"
10197
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
244 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
245 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
246
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
247 echo "LOOKING FOR CORE IN ${core_locations}"
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
248 for core in $core_locations
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
249 do
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
250 if [ -r "$core" ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
251 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
252 core_file=$core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
253 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
254 done
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
255
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
256 # core-file was found
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
257 if [ -n "$core_file" ]
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
258 then
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
259 ${MV} "${core_file}" test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
260 core_file=test_core
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
261 fi
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
262
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
263 ${RM} -f hs_err_pid*.log
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
264 }
7b23cb975cf2 8011675: adding compilation level to replay data
iignatyev
parents:
diff changeset
265