1 # Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 2 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 # 4 # This code is free software; you can redistribute it and/or modify it 5 # under the terms of the GNU General Public License version 2 only, as 6 # published by the Free Software Foundation. 7 # 8 # This code is distributed in the hope that it will be useful, but WITHOUT 9 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11 # version 2 for more details (a copy is included in the LICENSE file that 12 # accompanied this code). 13 # 14 # You should have received a copy of the GNU General Public License version 15 # 2 along with this work; if not, write to the Free Software Foundation, 16 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 # 18 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 19 # or visit www.oracle.com if you need additional information or have any 20 # questions. 21 22 pushd `dirname $0` > /dev/null 23 DIR=`pwd` 24 popd > /dev/null 25 26 AOT_OPTS="-XX:+UseAOT" 27 28 $JAVA_HOME/bin/java $AOT_OPTS -XX:+PrintAOT -version | grep "aot library" || exit 1 29 30 # Dump CDS archive. 31 $JAVA_HOME/bin/java $AOT_OPTS -Xshare:dump || exit 1 32 33 FILE="HelloWorld" 34 35 APP="com.sun.tools.javac.Main" 36 37 JAVA_OPTS="-XX:-UseCompressedOops" 38 39 rm -f $FILE.class 40 41 $JAVA_HOME/bin/java $JAVA_OPTS $AOT_OPTS $APP -verbose $FILE.java || exit 1 42 $JAVA_HOME/bin/java $AOT_OPTS $FILE || exit 1 43 44 JAVA_OPTS="-XX:+UseCompressedOops" 45 46 rm -f $FILE.class 47 48 $JAVA_HOME/bin/java $JAVA_OPTS $AOT_OPTS $APP -verbose $FILE.java || exit 1 49 $JAVA_HOME/bin/java $AOT_OPTS $FILE || exit 1 50 51 rm -f $FILE.class 52 53 TIMEFORMAT="%3R" 54 N=5 55 56 #echo "-Xint:" 57 #for i in `seq 1 10`; do 58 # time $JAVA_HOME/bin/java -Xint $JAVA_OPTS $APP $FILE.java 59 # if [ $? -ne 0 ]; then 60 # exit 1 61 # fi 62 # rm -f $FILE.class 63 #done 64 65 echo "Tiered C1:" 66 for i in `seq 1 $N`; do 67 time $JAVA_HOME/bin/java $JAVA_OPTS -XX:-UseAOT -XX:TieredStopAtLevel=1 $APP $FILE.java 68 if [ $? -ne 0 ]; then 69 exit 1 70 fi 71 rm -f $FILE.class 72 done 73 74 echo "Tiered C1/C2:" 75 for i in `seq 1 $N`; do 76 time $JAVA_HOME/bin/java $JAVA_OPTS -XX:-UseAOT $APP $FILE.java 77 if [ $? -ne 0 ]; then 78 exit 1 79 fi 80 rm -f $FILE.class 81 done 82 83 echo "Tiered C1/C2 -Xshare:on:" 84 for i in `seq 1 $N`; do 85 time $JAVA_HOME/bin/java $JAVA_OPTS -XX:-UseAOT -Xshare:on $APP $FILE.java 86 if [ $? -ne 0 ]; then 87 exit 1 88 fi 89 rm -f $FILE.class 90 done 91 92 echo "Tiered AOT:" 93 for i in `seq 1 $N`; do 94 time $JAVA_HOME/bin/java $JAVA_OPTS $AOT_OPTS $APP $FILE.java 95 if [ $? -ne 0 ]; then 96 exit 1 97 fi 98 rm -f $FILE.class 99 done 100 101 echo "Tiered AOT -Xshare:on:" 102 for i in `seq 1 $N`; do 103 time $JAVA_HOME/bin/java $JAVA_OPTS $AOT_OPTS -Xshare:on $APP $FILE.java 104 if [ $? -ne 0 ]; then 105 exit 1 106 fi 107 rm -f $FILE.class 108 done 109 110 NAME="jvmci" 111 DIR="$DIR/../../../../src/jdk.internal.vm.ci" 112 FILES=`find $DIR -type f -name '*.java'` 113 COUNT=`find $DIR -type f -name '*.java' | wc -l` 114 115 rm -rf tmp 116 117 echo "Tiered C1 (compiling $NAME: $COUNT classes):" 118 for i in `seq 1 $N`; do 119 mkdir tmp 120 time $JAVA_HOME/bin/javac -J-XX:-UseAOT -J-XX:TieredStopAtLevel=1 -XDignore.symbol.file -d tmp $FILES 121 if [ $? -ne 0 ]; then 122 exit 1 123 fi 124 rm -rf tmp 125 done 126 127 echo "Tiered C1/C2 (compiling $NAME: $COUNT classes):" 128 for i in `seq 1 $N`; do 129 mkdir tmp 130 time $JAVA_HOME/bin/javac -J-XX:-UseAOT -XDignore.symbol.file -cp /java/devtools/share/junit/latest/junit.jar -d tmp $FILES 131 if [ $? -ne 0 ]; then 132 exit 1 133 fi 134 rm -rf tmp 135 done 136 137 echo "Tiered AOT (compiling $NAME: $COUNT classes):" 138 for i in `seq 1 $N`; do 139 mkdir tmp 140 time $JAVA_HOME/bin/javac -J-XX:+UseAOT -XDignore.symbol.file -cp /java/devtools/share/junit/latest/junit.jar -d tmp $FILES 141 if [ $? -ne 0 ]; then 142 exit 1 143 fi 144 rm -rf tmp 145 done 146 147 echo "Tiered AOT -Xshare:on (compiling $NAME: $COUNT classes):" 148 for i in `seq 1 $N`; do 149 mkdir tmp 150 time $JAVA_HOME/bin/javac -J-Xshare:on -J-XX:+UseAOT -XDignore.symbol.file -cp /java/devtools/share/junit/latest/junit.jar -d tmp $FILES 151 if [ $? -ne 0 ]; then 152 exit 1 153 fi 154 rm -rf tmp 155 done 156 157