agent/test/jdi/sasanity.sh

Mon, 28 Jul 2014 15:06:38 -0700

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 4093
5a98bf7d847b
child 6876
710a3c8b516e
permissions
-rw-r--r--

8051344: JVM crashed in Compile::start() during method parsing w/ UseRTMDeopt turned on
Summary: call rtm_deopt() only if there were no compilation bailouts before.
Reviewed-by: kvn

duke@435 1 #!/bin/ksh
duke@435 2 #
minqi@4093 3 # Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
duke@435 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@435 5 #
duke@435 6 # This code is free software; you can redistribute it and/or modify it
duke@435 7 # under the terms of the GNU General Public License version 2 only, as
duke@435 8 # published by the Free Software Foundation.
duke@435 9 #
duke@435 10 # This code is distributed in the hope that it will be useful, but WITHOUT
duke@435 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@435 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@435 13 # version 2 for more details (a copy is included in the LICENSE file that
duke@435 14 # accompanied this code).
duke@435 15 #
duke@435 16 # You should have received a copy of the GNU General Public License version
duke@435 17 # 2 along with this work; if not, write to the Free Software Foundation,
duke@435 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@435 19 #
trims@1907 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
trims@1907 21 # or visit www.oracle.com if you need additional information or have any
trims@1907 22 # questions.
duke@435 23 #
duke@435 24 #
duke@435 25
duke@435 26 # This script is used to run sanity check on vmStructs.
duke@435 27 # Each SA class is checked against a given VM. "PASSED" is
duke@435 28 # printed if vmStructs are consistent. Else, "FAILED" is
duke@435 29 # printed and an exception stack trace follows.
duke@435 30
duke@435 31 usage() {
duke@435 32 echo "usage: ./sasanity.sh <jdk>"
duke@435 33 echo "<jdk> is the 1.5 j2se directory against which you want to run sanity check"
duke@435 34 exit 1
duke@435 35 }
duke@435 36
duke@435 37 if [ "$1" == "" ]; then
duke@435 38 usage
duke@435 39 fi
duke@435 40
duke@435 41 if [ "$1" == "-help" ]; then
duke@435 42 usage
duke@435 43 fi
duke@435 44
duke@435 45 jdk=$1
never@2658 46 shift
duke@435 47 OS=`uname`
duke@435 48
duke@435 49 javacp=$jdk/lib/sa-jdi.jar:./workdir
duke@435 50
duke@435 51 mkdir -p workdir
duke@435 52 if [ SASanityChecker.java -nt ./workdir/SASanityChecker.class ] ; then
duke@435 53 $jdk/bin/javac -d ./workdir -classpath $javacp SASanityChecker.java
duke@435 54 if [ $? != 0 ] ; then
duke@435 55 exit 1
duke@435 56 fi
duke@435 57 fi
duke@435 58
duke@435 59 if [ sagtarg.java -nt ./workdir/sagtarg.class ]; then
duke@435 60 $jdk/bin/javac -g -classpath -d $workdir sagtarg.java
duke@435 61 if [ $? != 0 ] ; then
duke@435 62 exit 1
duke@435 63 fi
duke@435 64 fi
duke@435 65
duke@435 66 tmp=/tmp/sagsetup
duke@435 67 rm -f $tmp
never@2658 68 $jdk/bin/java $* sagtarg > $tmp &
duke@435 69 pid=$!
duke@435 70 while [ ! -s $tmp ] ; do
duke@435 71 # Kludge alert!
duke@435 72 sleep 2
duke@435 73 done
duke@435 74
never@3137 75 $jdk/bin/java -showversion ${OPTIONS} -classpath $javacp $* SASanityChecker $pid
duke@435 76 kill -9 $pid

mercurial