blob: 9b278763df9af5236fac044f44bd68eef371f2c5 [file] [log] [blame]
- job:
name: jdkX-zgc-test
project-type: matrix
defaults: global
description: |
* Configures and builds jdkX (ie, bin/java, bin/javac, et al) in debug mode before running SPECjbb2015.
* The source tarball is copied from the jdkX-update-src-tree job.<br>
* As we are the maintainers of ZGC on aarch64, we need to look after this.
properties:
- authorization:
anonymous:
- job-read
- job-extended-read
openjdk-members:
- job-build
- job-cancel
- job-workspace
- build-discarder:
days-to-keep: 30
num-to-keep: 10
artifact-num-to-keep: 5
- build-blocker:
use-build-blocker: true
blocking-jobs:
- "jdk14-.*"
- "jdk13-.*"
- "jdk11-.*"
- "jdk8-.*"
block-level: 'GLOBAL'
disabled: true
node: j12-qrep-01
display-name: 'OpenJDK JDK - ZGC Debug Test'
axes:
- axis:
type: user-defined
name: BUILD_TYPE
values:
- fastdebug
- axis:
type: slave
name: label
values:
- j12-qrep-01
execution-strategy:
sequential: true
wrappers:
- workspace-cleanup:
dirmatch: false
- timestamps
- matrix-tie-parent:
node: j12-qrep-01
triggers:
- timed: '0 20 * * 1,3,5'
builders:
- copyartifact:
project: jdkX-update-src-tree
filter: 'out/jdkX.tar.gz'
target: incoming
flatten: true
- shell: |
#!/bin/bash
set -exu
ccache_build_opts=--disable-ccache
rm -rf jdk* primordial-jdk* build* out
cd $HOME/srv/jdk-cache/jdk14
export JAVA_HOME=${PWD}
export PATH=${JAVA_HOME}/bin:${PATH}
cd ${WORKSPACE}
# Extract sources from upstream job
tar xf incoming/jdkX.tar.gz
shopt -s nullglob
# Configure and build.
mkdir -p build-stage1 build-stage2 out
two_stage_build=0
which java
java -version
pushd build-stage2
sh ../jdkX/configure --with-debug-level=${BUILD_TYPE} ${ccache_build_opts} --with-native-debug-symbols=internal
make images
popd
#tar -C build-stage2/images/jdk --transform="s!^./!$artifact_name/!" -acf out/${artifact_name}.tar.gz .
# Now run test with ZGC.
export PATH=$PWD/build-stage2/images/jdk/bin:$PATH
## Extract specjbb2015 product
CACHE_FILES=$HOME/srv/jdk-cache
tar xf $CACHE_FILES/SPECjbb2015-jdk11.tar.gz
# Run test
SPECJBB_PRODUCT_HOME=SPECjbb2015-1.00
# This commented-out invocation is a quick test that
# takes about 10 minutes to complete - which can be
# useful when debugging.
#(cd $SPECJBB_PRODUCT_HOME; \
# time java \
# -Dspecjbb.controller.rtcurve.duration.min=500 \
# -Dspecjbb.controller.rtcurve.duration.max=1500 \
# -Dspecjbb.controller.type=PRESET \
# -Dspecjbb.controller.preset.ir=4000 \
# -Dspecjbb.controller.preset.duration=100 \
# -jar specjbb2015.jar -m composite)
(cd $SPECJBB_PRODUCT_HOME;
java \
-XX:+UseTransparentHugePages \
-XX:-UseBiasedLocking \
-Xmx16g \
-XX:+UnlockExperimentalVMOptions \
-XX:+UseZGC \
-XX:-UseBiasedLocking \
-XX:+UnlockDiagnosticVMOptions \
-XX:+ZVerifyForwarding \
-XX:+ZVerifyMarking \
-XX:+ZVerifyViews \
-Dspecjbb.controller.rtcurve.duration.min=500 \
-Dspecjbb.controller.rtcurve.duration.max=1500 \
-Dspecjbb.controller.type=PRESET \
-Dspecjbb.controller.preset.ir=40000 \
-Dspecjbb.controller.preset.duration=100 \
-jar specjbb2015.jar \
-ikv -m composite)
# Do a sanity run of JCStress
DEPS=$HOME/workspace/jdkX-get-deps
JCSTRESS_JAR=$DEPS/jcstress.jar
java -jar ${JCSTRESS_JAR} \
-jvmArgs "-XX:+UnlockExperimentalVMOptions -XX:+UseZGC " \
-m sanity
publishers:
- email:
recipients: 'stuart.monteith@linaro.org'
- html-publisher:
name: 'HTML Report'
dir: 'results'
files: 'index.html'
keep-all: true