@@ -3,31 +3,41 @@ set -ex
3
3
# include common.sh
4
4
. $( dirname " $0 " ) /common.sh
5
5
6
- openjdk_binding=$( realpath $1 )
7
- output_dir=$( realpath -m $2 )
8
- openjdk_rev=$( git -C $openjdk_binding rev-parse HEAD)
6
+ openjdk_binding_latest=$( realpath $1 )
7
+ openjdk_binding_canary=$( realpath $2 )
8
+ output_dir=$( realpath -m $3 )
9
+ # openjdk_rev is used for the commit message. We use the revision ID of the latest version.
10
+ openjdk_rev=$( git -C $openjdk_binding_latest rev-parse HEAD)
9
11
10
12
# OpenJDK root
11
- openjdk=$openjdk_binding /repos/openjdk
13
+ openjdk=$openjdk_binding_latest /repos/openjdk
12
14
13
15
ensure_empty_dir $kit_build
14
16
ensure_empty_dir $kit_upload
15
17
ensure_empty_dir $log_dir
16
18
checkout_result_repo
17
19
18
20
# Build
19
- build_openjdk_with_mmtk $openjdk_binding release jdk-mmtk
21
+ build_openjdk_with_mmtk $openjdk_binding_latest release jdk-mmtk
22
+ build_openjdk_with_mmtk $openjdk_binding_canary release jdk-mmtk-canary
20
23
21
24
run_exp () {
22
- plan =$1
25
+ dir_name =$1
23
26
config=$2
24
27
heap_modifier=$3
28
+ invocations=$history_invocations
29
+
30
+ # Use this when testing the scripts so that tests run faster, albeit producing less accurate results.
31
+ if [ " $OPENJDK_HISTORY_RUN_TEST_FAST " = " 1" ]; then
32
+ invocations=1
33
+ fi
25
34
26
35
# Run
27
- run_id=$( run_benchmarks $log_dir $kit_root /configs/$config $heap_modifier $history_invocations )
36
+ run_id=$( run_benchmarks $log_dir $kit_root /configs/$config $heap_modifier $invocations )
28
37
# Save result
29
- mkdir -p $result_repo_dir /openjdk/$plan
30
- cp -r $log_dir /$run_id $result_repo_dir /openjdk/$plan
38
+ RESULT_DIR=$result_repo_dir /openjdk/$dir_name
39
+ mkdir -p $RESULT_DIR
40
+ cp -r $log_dir /$run_id $RESULT_DIR
31
41
}
32
42
33
43
# Build
@@ -54,6 +64,11 @@ run_exp stickyimmix running-openjdk-stickyimmix-complete.yml 6
54
64
# MarkSweep
55
65
run_exp marksweep running-openjdk-marksweep-complete.yml 6
56
66
67
+ # GenImmix using the canary version.
68
+ # If the performance of the canary version changed,
69
+ # it means there is an environment change that impacts the performance.
70
+ run_exp canary running-openjdk-canary-complete.yml 6
71
+
57
72
# Commit result
58
73
commit_result_repo ' OpenJDK Binding: ' $openjdk_rev
59
74
0 commit comments