1 .DEFAULT_GOAL := all 2 3 JAVA_HOME ?= $(abspath ../build/linux-x86_64-server-fastdebug/jdk) 4 export PATH := ${JAVA_HOME}/bin:$(PATH) 5 6 CTW_DIR := $(abspath ../test/hotspot/jtreg/testlibrary/ctw) 7 CTW_DIST= ${CTW_DIR}/dist 8 CTW_JAVA_OPTIONS := -XX:+CITime -XX:-TieredCompilation -XX:+UseTLAB -XX:+PrintCompilation -XX:+PrintOptoStatistics -XX:+UnlockExperimentalVMOptions -XX:+DoPartialEscapeAnalysis 9 comma := , 10 empty := 11 space := $(empty) $(empty) 12 # CTWRunner accepts arguments with commas instead of spaces 13 CTW_RUNNER_JAVA_OPTIONS := $(subst $(space),$(comma),$(CTW_JAVA_OPTIONS)) 14 CONF ?= linux-x86_64-server-fastdebug 15 JTREG_COMMON = JAVA_OPTIONS=-XX:+UnlockExperimentalVMOptions -XX:+DoPartialEscapeAnalysis 16 JTREG_PARANOID=VM_OPTIONS=-ea -esa -XX:CompileThreshold=100 17 18 set_jdk: 19 if [ -e ${JAVA_HOME} ]; then \ 20 echo "choose ${JAVA_HOME}"; \ 21 java -version; \ 22 else \ 23 echo "can't find valid jdk!"; \ 24 exit 1; \ 25 fi 26 27 classes := $(patsubst %.java, %.class, $(wildcard *.java)) 28 29 %.class: %.java 30 javac --add-exports java.base/jdk.internal.misc=ALL-UNNAMED $< 31 32 smoketest: set_jdk $(classes) 33 ./auto.rb 34 35 $(CTW_DIST): 36 ${MAKE} -C ${CTW_DIR} all 37 38 run-ctw: set_jdk ${CTW_DIST} 39 cd ${CTW_DIST}; \ 40 JAVA_OPTIONS="-Dsun.hotspot.tools.ctwrunner.ctw_extra_args=${CTW_RUNNER_JAVA_OPTIONS}" JAVA_HOME=${JAVA_HOME} ./ctwrunner.sh modules:java.base 41 42 run-ctw-no-inline: set_jdk ${CTW_DIST} 43 cd ${CTW_DIST}; \ 44 JAVA_OPTIONS="${CTW_JAVA_OPTIONS} -XX:-Inline" JAVA_HOME=${JAVA_HOME} ./ctw.sh modules:java.base 45 46 bootstrap-version: set_jdk 47 java -Xcomp -XX:-TieredCompilation -XX:CICompilerCount=1 -Xbatch -XX:+UnlockExperimentalVMOptions -XX:+DoPartialEscapeAnalysis -version 48 49 hotspot-tier1: 50 cd ..; make test TEST="hotspot:tier1" CONF=${CONF} JREG="${JTREG_COMMON}" 51 52 hotspot-tier1-paranoid: 53 cd ..; make test TEST="hotspot:tier1" CONF=${CONF} JTREG="${JTREG_COMMON};${JTREG_PARANOID}" 54 55 hotspot-tier2: 56 cd ..; make test TEST="hotspot:tier2" CONF=${CONF} JREG="${JTREG_COMMON}" 57 58 all: smoketest bootstrap-version 59 60 clean: 61 rm *.class *.log