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 22pushd `dirname $0` > /dev/null 23DIR=`pwd` 24popd > /dev/null 25 26AOT_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 33FILE="HelloWorld" 34 35APP="com.sun.tools.javac.Main" 36 37JAVA_OPTS="-XX:-UseCompressedOops" 38 39rm -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 44JAVA_OPTS="-XX:+UseCompressedOops" 45 46rm -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 51rm -f $FILE.class 52 53TIMEFORMAT="%3R" 54N=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 65echo "Tiered C1:" 66for 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 72done 73 74echo "Tiered C1/C2:" 75for 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 81done 82 83echo "Tiered C1/C2 -Xshare:on:" 84for 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 90done 91 92echo "Tiered AOT:" 93for 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 99done 100 101echo "Tiered AOT -Xshare:on:" 102for 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 108done 109 110NAME="jvmci" 111DIR="$DIR/../../../../src/jdk.internal.vm.ci" 112FILES=`find $DIR -type f -name '*.java'` 113COUNT=`find $DIR -type f -name '*.java' | wc -l` 114 115rm -rf tmp 116 117echo "Tiered C1 (compiling $NAME: $COUNT classes):" 118for 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 125done 126 127echo "Tiered C1/C2 (compiling $NAME: $COUNT classes):" 128for 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 135done 136 137echo "Tiered AOT (compiling $NAME: $COUNT classes):" 138for 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 145done 146 147echo "Tiered AOT -Xshare:on (compiling $NAME: $COUNT classes):" 148for 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 155done 156 157 158