test/compiler/5091921/Test7005594.sh

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

author
fzhinkin
date
Mon, 28 Jul 2014 15:06:38 -0700
changeset 6997
dbb05f6d93c4
parent 6198
55fb97c4c58d
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

kvn@2918 1 #!/bin/sh
kvn@2918 2 #
mikael@6198 3 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
kvn@2918 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
kvn@2918 5 #
kvn@2918 6 # This code is free software; you can redistribute it and/or modify it
kvn@2918 7 # under the terms of the GNU General Public License version 2 only, as
kvn@2918 8 # published by the Free Software Foundation.
kvn@2918 9 #
kvn@2918 10 # This code is distributed in the hope that it will be useful, but WITHOUT
kvn@2918 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
kvn@2918 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
kvn@2918 13 # version 2 for more details (a copy is included in the LICENSE file that
kvn@2918 14 # accompanied this code).
kvn@2918 15 #
kvn@2918 16 # You should have received a copy of the GNU General Public License version
kvn@2918 17 # 2 along with this work; if not, write to the Free Software Foundation,
kvn@2918 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
kvn@2918 19 #
kvn@2918 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
kvn@2918 21 # or visit www.oracle.com if you need additional information or have any
kvn@2918 22 # questions.
kvn@2918 23 #
kvn@2918 24 #
collins@4831 25 ## some tests require path to find test source dir
kvn@2918 26 if [ "${TESTSRC}" = "" ]
kvn@2918 27 then
collins@4831 28 TESTSRC=${PWD}
collins@4831 29 echo "TESTSRC not set. Using "${TESTSRC}" as default"
kvn@2918 30 fi
kvn@2918 31 echo "TESTSRC=${TESTSRC}"
collins@4831 32 ## Adding common setup Variables for running shell tests.
collins@4831 33 . ${TESTSRC}/../../test_env.sh
kvn@2918 34
kvn@3070 35 # Amount of physical memory in megabytes
kvn@3070 36 MEM=0
kvn@3070 37 if [ -f "/proc/meminfo" ]; then
kvn@3070 38 # Linux, Windows/Cygwin
kvn@3070 39 MEM=`cat /proc/meminfo |grep ^MemTotal: | awk '{print $2}'`
kvn@3070 40 MEM="$(($MEM / 1024))"
kvn@3070 41 elif [ -x "/usr/sbin/prtconf" ]; then
kvn@3070 42 # Solaris
kvn@3070 43 MEM=`/usr/sbin/prtconf | grep "^Memory size" | awk '{print $3}'`
kvn@3070 44 elif [ -x "/usr/sbin/system_profiler" ]; then
kvn@3070 45 # MacOS
kvn@3070 46 MEMo=`/usr/sbin/system_profiler SPHardwareDataType | grep Memory:`
kvn@3070 47 MEM=`echo "$MEMo" | awk '{print $2}'`
kvn@3070 48 MEMu=`echo "$MEMo" | awk '{print $3}'`
kvn@3070 49 case $MEMu in
kvn@3070 50 GB)
kvn@3070 51 MEM="$(($MEM * 1024))"
kvn@3070 52 ;;
kvn@3070 53 MB)
kvn@3070 54 ;;
kvn@3070 55 *)
kvn@3070 56 echo "Unknown memory unit in system_profile output: $MEMu"
kvn@3070 57 ;;
kvn@3070 58 esac
kvn@3070 59 elif [ -n "$ROOTDIR" -a -x "$ROOTDIR/mksnt/sysinf" ]; then
kvn@3070 60 # Windows/MKS
kvn@3070 61 MEM=`"$ROOTDIR/mksnt/sysinf" memory -v | grep "Total Physical Memory: " | sed 's/Total Physical Memory: *//g'`
kvn@3070 62 MEM="$(($machine_memory / 1024))"
kvn@3070 63 else
kvn@3070 64 echo "Unable to determine amount of physical memory on the machine"
kvn@3070 65 fi
kvn@3070 66
kvn@3070 67 if [ $MEM -lt 2000 ]; then
kvn@3070 68 echo "Test skipped due to low (or unknown) memory on the system: $MEM Mb"
kvn@3070 69 exit 0
kvn@3070 70 fi
kvn@3070 71
kvn@3070 72 echo "MEMORY=$MEM Mb"
kvn@3070 73
kvn@2918 74 set -x
kvn@2918 75
kvn@2918 76 cp ${TESTSRC}/Test7005594.java .
kvn@2918 77 cp ${TESTSRC}/Test7005594.sh .
kvn@2918 78
collins@4831 79 ${COMPILEJAVA}/bin/javac ${TESTJAVACOPTS} -d . Test7005594.java
kvn@2918 80
kvn@3070 81 ${TESTJAVA}/bin/java ${TESTVMOPTS} -Xms1600m -XX:+IgnoreUnrecognizedVMOptions -XX:-ZapUnusedHeapArea -Xcomp -XX:CompileOnly=Test7005594.test Test7005594 > test.out 2>&1
kvn@2918 82
kvn@2918 83 result=$?
kvn@2918 84
kvn@2918 85 cat test.out
kvn@2918 86
kvn@2918 87 if [ $result -eq 95 ]
kvn@2918 88 then
kvn@2918 89 echo "Passed"
kvn@2918 90 exit 0
kvn@2918 91 fi
kvn@2918 92
kvn@2918 93 if [ $result -eq 97 ]
kvn@2918 94 then
kvn@2918 95 echo "Failed"
kvn@2918 96 exit 1
kvn@2918 97 fi
kvn@2918 98
kvn@2918 99 # The test should pass when no enough space for object heap
kvn@2918 100 grep "Could not reserve enough space for object heap" test.out
kvn@2918 101 if [ $? = 0 ]
kvn@2918 102 then
kvn@2918 103 echo "Passed"
kvn@2918 104 exit 0
kvn@2918 105 else
kvn@2918 106 echo "Failed"
kvn@2918 107 exit 1
kvn@2918 108 fi

mercurial