Skip to content

Merge the jdk-21+35-mmtk branch into master #307

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 91 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
a584182
Make NoGC work
xinyu-zheng Dec 11, 2021
ff7b4b4
Fix initializer order
xinyu-zheng Dec 14, 2021
a727e32
Match Klasses layout
xinyu-zheng Dec 23, 2021
935498f
Fix savengable seg fault
xinyu-zheng Jan 6, 2022
9b2db37
Make scavengable return true
xinyu-zheng Jan 6, 2022
24b90dd
Apply root scanning optimizations
xinyu-zheng Jan 6, 2022
f054f6c
Add missing roots
xinyu-zheng Jan 7, 2022
df6655b
Fix undefined reference
xinyu-zheng Jan 9, 2022
4afed0f
Fix hidden virtual functions
xinyu-zheng Jan 10, 2022
798cf0b
Remove unnecessary set_native_thread_name
xinyu-zheng Jan 12, 2022
932eb6f
Fix parse_access cast
xinyu-zheng Jan 16, 2022
268dabd
Fix making JVM_LIB_OUTPUTDIR
xinyu-zheng Jan 28, 2022
e17a953
Remove explicit JNI roots scanning
xinyu-zheng May 20, 2022
6be55c6
Fix code cache roots scanning
xinyu-zheng May 20, 2022
a940eb2
Merge v0.12 into 17-0.12
xinyu-zheng May 20, 2022
225b65c
Delete scratch directory
xinyu-zheng May 20, 2022
3ebff97
Fix fastdebug
xinyu-zheng May 23, 2022
a46ec99
Merge branch '17-0.12' of github.com:xinyu-zheng/mmtk-openjdk into 17…
xinyu-zheng May 23, 2022
8b18e0f
Fix store_at
caizixian Sep 7, 2022
8ca2eab
Fix set_threadObj
caizixian Sep 7, 2022
db93452
Update jdk commit hash
caizixian Sep 9, 2022
f0d700a
Reflect changes in oops
caizixian Sep 9, 2022
89f1967
Reflect changes in Mutex and Monitor
caizixian Sep 9, 2022
00b11f6
Fix includes
caizixian Sep 9, 2022
548bb40
Fix c2 alloc sequence due to changes in allocation dprobe
caizixian Sep 9, 2022
0c6bc9f
Reflect changes in thread type
caizixian Sep 9, 2022
29647df
Fix warning
caizixian Sep 9, 2022
f439281
Add assertion when using lightweight threads with MMTk
caizixian Sep 9, 2022
fcc4f03
Fix code marking
caizixian Sep 9, 2022
d0b692b
Merge remote-tracking branch 'upstream/master' into jdk-20+15-mmtk-merge
caizixian Sep 15, 2022
f309a4e
Fix compiler errors
caizixian Sep 15, 2022
bd5eb9c
Have zero working with no barrier
caizixian Sep 21, 2022
5463d2d
Restore object barrier
caizixian Sep 21, 2022
a7b396a
Merge remote-tracking branch 'upstream/master' into jdk-20+15-mmtk-zero
caizixian Sep 21, 2022
92a627a
Conditional compile CPU specific code
caizixian Sep 21, 2022
21a782a
Merge pull request #1 from caizixian/jdk-20+15-mmtk-zero
caizixian Sep 23, 2022
bcbf324
Update OpenJDK commit hash
caizixian Sep 23, 2022
e210c55
Basic RISC-V fast path structure
caizixian Sep 29, 2022
097c6a5
Fix code cache roots relocation
caizixian Sep 29, 2022
0c424a3
RISC-V cross compilation
caizixian Sep 29, 2022
7ba5130
Implement eden_allocate
caizixian Oct 8, 2022
6b5cb45
Merge pull request #2 from caizixian/jdk-20+16-mmtk-fastpath
caizixian Oct 8, 2022
2fe03e6
Fix include
caizixian Oct 8, 2022
5e14860
Always use the installed stable toolchain
caizixian Oct 8, 2022
d93dda6
Implement C1 write barrier stub
caizixian Oct 8, 2022
d6cc6b2
Refactor mmtkNoBarrier
caizixian Oct 8, 2022
4a1e59b
Refactor mmtkObjectBarrier
caizixian Oct 8, 2022
53ad4e9
Implement arraycopy_epilogue
caizixian Oct 8, 2022
f287ed9
Finish porting the object barrier for riscv
caizixian Oct 8, 2022
f7da8b5
More assertions
caizixian Oct 9, 2022
94ee3e0
fop interpreter working with no barrier fast path and basically nop s…
caizixian Oct 17, 2022
f164ca3
fop interpreter with no barrier fast path but with slow path call (on…
caizixian Oct 17, 2022
05ce800
No barrier fast path but with slow path call (only pass the first arg…
caizixian Oct 18, 2022
6644d31
Pass all three arguments in barrier slow path
caizixian Oct 18, 2022
18694a5
Fix write barrier slow path condition
caizixian Oct 18, 2022
d88f559
Compile with jdk-20+20
caizixian Oct 24, 2022
6086363
Workaround the C2 bug in codegen
caizixian Oct 24, 2022
56b1db3
Fix for openjdk/jdk#10038
caizixian Oct 25, 2022
4cc1342
Merge remote-tracking branch 'upstream/master' into jdk-20+20-mmtk
caizixian Oct 25, 2022
a7f8ce1
Make object barrier compile with zero
caizixian Oct 25, 2022
46f6bfa
Fix for jdk-21+24
caizixian May 27, 2023
fb7c416
Fix object scanning
caizixian May 29, 2023
c79eea6
Merge tag 'v0.16.0' into jdk-21+24-mmtk-merge
caizixian May 29, 2023
bfdb591
Merge tag 'v0.17.0' into jdk-21+24-mmtk-merge
caizixian May 29, 2023
d97a371
Merge tag 'v0.18.0' into jdk-21+24-mmtk-merge
caizixian May 29, 2023
522a713
Use stable Rust toolchain
caizixian May 30, 2023
776baab
Merge with mmtk/mmtk-openjdk@master (#234)
caizixian Aug 22, 2023
e4e30f4
Add armv8 support in the binding for mmtk/jdk:jdk-21%2B24-mmtk (#249)
ArberSephirotheca Oct 16, 2023
fd84c30
Update commit hash for mmtk/jdk#1
caizixian Oct 16, 2023
76443be
Fix eden_allocate for aarch64
caizixian Oct 18, 2023
4360798
Correctly cross compile zero variants
caizixian Oct 24, 2023
6e436fd
Fix build for riscv64
caizixian Oct 24, 2023
d071226
Fix for when not cross compiling
caizixian Oct 24, 2023
ba3c601
Update reserved argument area size for MMTk
wks Apr 15, 2025
fd218a9
Merge branch 'master' into jdk-21+35-mmtk
wks Apr 15, 2025
3c8b486
Fix compilation errors
wks Apr 15, 2025
47990cf
Fix mutex locking
wks Apr 15, 2025
2fcf270
Revert "Workaround the C2 bug in codegen"
wks Apr 16, 2025
94d30a2
Support compressed oops
wks Apr 16, 2025
90c854d
Merge branch 'master' into jdk-21+35-mmtk
wks Apr 28, 2025
4beaae4
Rename KlassID to KlassKind
wks Apr 25, 2025
c0292cc
Fix CI scripts for OpenJDK 21
wks Apr 23, 2025
02d3ffe
Update running script for DaCapo Chopin
wks Apr 28, 2025
78e3623
Update DaCapo Chopin to 23.11-MR2
wks Apr 28, 2025
e1ccac6
Merge branch 'master' into jdk-21+35-mmtk
wks Apr 28, 2025
928648f
Fix extended binding test
wks Apr 28, 2025
7a13278
Fix running script
wks Apr 28, 2025
dd2a6ca
Fix benchmark suite name
wks Apr 29, 2025
6e5121e
Force all files to end with newline.
wks Apr 29, 2025
63c8d4a
Update README
wks Apr 29, 2025
4d535e5
Merge branch 'master' into jdk-21+35-mmtk
wks Apr 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 17 additions & 14 deletions .github/configs/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@ includes:
- "$RUNNING_NG_PACKAGE_DATA/base/runbms.yml"

suites:
dacapo-23.9-RC3-chopin-ci:
# We use the same suites name "dacapochopin" as defined in "running-ng/src/running/config/base/dacapo.yml".
# This will combine this definition with the existing "dacapochopin".
# This will also allow us to use modifiers such as "dacapochopin_jdk21" which expect the suites name "dacapochopin".
dacapochopin:
type: DaCapo
# Need running-ng to support 23.9
release: evaluation
path: "DACAPO_PATH/dacapo-23.9-RC3-chopin.jar"
release: "23.11"
path: "DACAPO_PATH/dacapo-23.11-MR2-chopin.jar"
minheap: mmtk-openjdk-11-MarkCompact
# Min heap values are from dacapo-evaluation-git-04132797
# TODO: Use the values provided by the released version, and use G1 instead of MarkCompact.
minheap_values:
mmtk-openjdk-11-MarkCompact:
avrora: 8
Expand Down Expand Up @@ -83,19 +86,19 @@ plugins:
- "scratch/stderr.log"

runtimes:
jdk11-master:
jdk21-master:
type: OpenJDK
release: 11
release: 21
home: "/home/runner/work/mmtk-openjdk/mmtk-openjdk/bundles/jdk"

configs:
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-SemiSpace"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-GenCopy"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-Immix"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-GenImmix"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-StickyImmix"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-MarkSweep"
- "jdk11-master|ms|s|fail_on_oom|tph|preserve|mmtk_gc-MarkCompact"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-SemiSpace"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-GenCopy"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-Immix"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-GenImmix"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-StickyImmix"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-MarkSweep"
- "jdk21-master|dacapochopin_jdk21|ms|s|fail_on_oom|tph|preserve|mmtk_gc-MarkCompact"

benchmarks:
dacapo-23.9-RC3-chopin-ci:
dacapochopin:
2 changes: 1 addition & 1 deletion .github/scripts/ci-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ build_target=$1
# Build product bundle
cd $OPENJDK_PATH
sh configure --disable-warnings-as-errors --with-debug-level=$DEBUG_LEVEL
make CONF=linux-x86_64-normal-server-$DEBUG_LEVEL THIRD_PARTY_HEAP=$BINDING_PATH/openjdk $OPENJDK_BUILD_TARGET
make CONF=linux-x86_64-server-$DEBUG_LEVEL THIRD_PARTY_HEAP=$BINDING_PATH/openjdk $OPENJDK_BUILD_TARGET
8 changes: 8 additions & 0 deletions .github/scripts/ci-check-lineends.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,20 @@

FN=$1

ANY_ERRORS=0

LAST_CHAR="$(tail -c 1 $FN | od -A n -t x1)"
if test "$LAST_CHAR" != " 0a"; then
echo "File does not end with newline:" $FN
ANY_ERRORS=1
fi

LINEEND="$(dos2unix -i $FN | awk '{print $1 " " $3}')"
if test "$LINEEND" != "0 0"; then
echo "File contains non-UNIX line endings:" $FN
ANY_ERRORS=1
fi

if [[ $ANY_ERRORS -ne 0 ]]; then
exit 1
fi
4 changes: 0 additions & 4 deletions .github/scripts/ci-checkout.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
# ci-checkout.sh
set -ex

. $(dirname "$0")/common.sh

OPENJDK_URL=`cargo read-manifest --manifest-path=$BINDING_PATH/mmtk/Cargo.toml | python3 -c 'import json,sys; print(json.load(sys.stdin)["metadata"]["openjdk"]["openjdk_repo"])'`
OPENJDK_VERSION=`cargo read-manifest --manifest-path=$BINDING_PATH/mmtk/Cargo.toml | python3 -c 'import json,sys; print(json.load(sys.stdin)["metadata"]["openjdk"]["openjdk_version"])'`

# Use default openjdk path if it is not set (this is only need when MMTk core calls the script)
OPENJDK_PATH=${OPENJDK_PATH:="$BINDING_PATH/repos/openjdk"}

rm -rf $OPENJDK_PATH
git clone $OPENJDK_URL $OPENJDK_PATH
git -C $OPENJDK_PATH checkout $OPENJDK_VERSION
2 changes: 1 addition & 1 deletion .github/scripts/ci-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ set -xe

. $(dirname "$0")/common.sh

# Install nightly rust
# Install the appropriate Rust toolchain
rustup toolchain install $RUSTUP_TOOLCHAIN
rustup target add i686-unknown-linux-gnu --toolchain $RUSTUP_TOOLCHAIN
rustup component add clippy --toolchain $RUSTUP_TOOLCHAIN
Expand Down
19 changes: 17 additions & 2 deletions .github/scripts/ci-style.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,26 @@ cargo clippy --release
cargo fmt -- --check
popd

find $BINDING_PATH/openjdk \
# Allow all files to be checked, and exit if any went wrong.
set +xe

ANY_LINE_END_ERRORS=0
for FN in $(find $BINDING_PATH/openjdk \
$BINDING_PATH/mmtk \
'(' \
-name '*.hpp' \
-o -name '*.cpp' \
-o -name '*.rs' \
-o -name '*.toml' \
-o -name '*.gmk' \
-exec ./ci-check-lineends.sh '{}' \;
')')
do
$(dirname "$0")/ci-check-lineends.sh "$FN"
if [[ $? -ne 0 ]]; then
ANY_LINE_END_ERRORS=1
fi
done

if [[ $ANY_LINE_END_ERRORS -ne 0 ]]; then
exit 1
fi
15 changes: 2 additions & 13 deletions .github/scripts/ci-test-extended.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
set -ex

. $(dirname "$0")/common.sh
cur=$BINDING_PATH/.github/scripts

# This script is only used by MMTk core.
# OPENJDK_PATH is the default path set in ci-checkout.sh
export OPENJDK_PATH=$BINDING_PATH/repos/openjdk
export DEBUG_LEVEL=fastdebug
export TEST_JAVA_BIN=$OPENJDK_PATH/build/linux-x86_64-normal-server-$DEBUG_LEVEL/jdk/bin/java

# Download dacapo
export DACAPO_PATH=$BINDING_PATH/dacapo
mkdir -p $DACAPO_PATH
wget https://downloads.sourceforge.net/project/dacapobench/archive/2006-10-MR2/dacapo-2006-10-MR2.jar -O $DACAPO_PATH/dacapo-2006-10-MR2.jar
. $(dirname "$0")/common-binding-test.sh

# Normal build
$cur/ci-build.sh

# Test
$cur/ci-test-only-normal.sh
$cur/ci-test-only-normal-no-compressed-oops.sh
Expand Down
15 changes: 2 additions & 13 deletions .github/scripts/ci-test-minimal.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,10 @@
set -ex

. $(dirname "$0")/common.sh
cur=$BINDING_PATH/.github/scripts

# This script is only used by MMTk core.
# OPENJDK_PATH is the default path set in ci-checkout.sh
export OPENJDK_PATH=$BINDING_PATH/repos/openjdk
export DEBUG_LEVEL=fastdebug
export TEST_JAVA_BIN=$OPENJDK_PATH/build/linux-x86_64-normal-server-$DEBUG_LEVEL/jdk/bin/java

# Download dacapo
export DACAPO_PATH=$BINDING_PATH/dacapo
mkdir -p $DACAPO_PATH
wget https://downloads.sourceforge.net/project/dacapobench/archive/2006-10-MR2/dacapo-2006-10-MR2.jar -O $DACAPO_PATH/dacapo-2006-10-MR2.jar
. $(dirname "$0")/common-binding-test.sh

# Normal build
$cur/ci-build.sh

# Test
MMTK_PLAN=SemiSpace runbms_dacapo2006_with_heap_multiplier fop 4
MMTK_PLAN=Immix runbms_dacapo2006_with_heap_multiplier fop 4
Expand Down
4 changes: 4 additions & 0 deletions .github/scripts/ci-test-only-normal-no-compressed-oops.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ set -xe

unset JAVA_TOOL_OPTIONS

# This script runs against a specific pre-built java binary, not OpenJDK source code.
ensure_env TEST_JAVA_BIN
unset OPENJDK_PATH

run_all_no_compressed_oop() {
heap_multiplier=$1

Expand Down
4 changes: 4 additions & 0 deletions .github/scripts/ci-test-only-normal.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ set -xe

unset JAVA_TOOL_OPTIONS

# This script runs against a specific pre-built java binary, not OpenJDK source code.
ensure_env TEST_JAVA_BIN
unset OPENJDK_PATH

run_all() {
heap_multiplier=$1

Expand Down
5 changes: 4 additions & 1 deletion .github/scripts/ci-test-only-weak-ref.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@ set -xe
. $(dirname "$0")/common.sh

unset JAVA_TOOL_OPTIONS
cd $OPENJDK_PATH

# This script runs against a specific pre-built java binary, not OpenJDK source code.
ensure_env TEST_JAVA_BIN
unset OPENJDK_PATH

export MMTK_NO_REFERENCE_TYPES=false
# Just test Immix and MarkCompact
Expand Down
19 changes: 19 additions & 0 deletions .github/scripts/common-binding-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This is the common part of binding tests (minimal and extended) invoked from mmtk-core.

set -xe

. $(dirname "$0")/common.sh
cur=$BINDING_PATH/.github/scripts

# Use fastdebug for binding tests
export DEBUG_LEVEL=fastdebug

# We build OpenJDK with the "default" target, and this is the location of the Java binary.
# It's equivalent to invoking "make" without an explicit target, but it's better to be explicit.
export OPENJDK_BUILD_TARGET=default
export TEST_JAVA_BIN=$OPENJDK_PATH/build/linux-x86_64-server-$DEBUG_LEVEL/jdk/bin/java

# Download dacapo
export DACAPO_PATH=$BINDING_PATH/dacapo
mkdir -p $DACAPO_PATH
wget https://downloads.sourceforge.net/project/dacapobench/archive/2006-10-MR2/dacapo-2006-10-MR2.jar -O $DACAPO_PATH/dacapo-2006-10-MR2.jar
4 changes: 4 additions & 0 deletions .github/scripts/common.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
BINDING_PATH=$(realpath $(dirname "$0"))/../..
RUSTUP_TOOLCHAIN=`cat $BINDING_PATH/mmtk/rust-toolchain`

# build.yml specifies the OPENJDK_PATH env var when calling ci-build.sh
# But other scripts expect a default path for OpenJDK.
OPENJDK_PATH=${OPENJDK_PATH:="$BINDING_PATH/repos/jdk"}

# dacapo2006 min heap for mark compact
MINHEAP_ANTLR=5
MINHEAP_FOP=13
Expand Down
8 changes: 4 additions & 4 deletions .github/scripts/pgo-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,20 @@ cargo clean
popd

# Compile with profiling support
RUSTFLAGS="-Cprofile-generate=/tmp/$USER/pgo-data" make CONF=linux-x86_64-normal-server-release THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk images
RUSTFLAGS="-Cprofile-generate=/tmp/$USER/pgo-data" make CONF=linux-x86_64-server-release THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk images

# Remove extraneous profiling data
rm -rf /tmp/$USER/pgo-data/*

# Profile using fop
MMTK_PLAN=GenImmix MMTK_STRESS_FACTOR=16777216 MMTK_PRECISE_STRESS=false ./build/linux-x86_64-normal-server-release/images/jdk/bin/java -XX:MetaspaceSize=500M -XX:+DisableExplicitGC -XX:-TieredCompilation -Xcomp -XX:+UseThirdPartyHeap -Xms60M -Xmx60M -jar /usr/share/benchmarks/dacapo/dacapo-23.9-RC3-chopin.jar -n 5 fop
MMTK_PLAN=GenImmix MMTK_STRESS_FACTOR=4194304 MMTK_PRECISE_STRESS=false ./build/linux-x86_64-server-release/images/jdk/bin/java -XX:MetaspaceSize=500M -XX:+DisableExplicitGC -XX:-TieredCompilation -Xcomp -XX:+UseThirdPartyHeap -Xms60M -Xmx60M -jar /usr/share/benchmarks/dacapo/dacapo-23.11-chopin.jar -n 5 fop

# Merge profiling data
/opt/rust/toolchains/1.71.1-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-profdata merge -o /tmp/$USER/pgo-data/merged.profdata /tmp/$USER/pgo-data
/opt/rust/toolchains/1.83.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/llvm-profdata merge -o /tmp/$USER/pgo-data/merged.profdata /tmp/$USER/pgo-data

pushd ../mmtk-openjdk/mmtk
cargo clean
popd

# Compile using profiling data
RUSTFLAGS="-Cprofile-use=/tmp/$USER/pgo-data/merged.profdata -Cllvm-args=-pgo-warn-missing-function" make CONF=linux-x86_64-normal-server-release THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk images
RUSTFLAGS="-Cprofile-use=/tmp/$USER/pgo-data/merged.profdata -Cllvm-args=-pgo-warn-missing-function" make CONF=linux-x86_64-server-release THIRD_PARTY_HEAP=$PWD/../mmtk-openjdk/openjdk images
29 changes: 13 additions & 16 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,19 @@ jobs:
build-linux-x64:
name: linux-x64
runs-on: ubuntu-22.04
env:
# This overrides OPENJDK_PATH in ci-common.sh
# Note: We cannot use default environment variables (GITHUB_*) in the "env" context. Use github.* instead.
# See: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables
OPENJDK_PATH: ${{ github.workspace }}/git/openjdk
steps:
- name: Checkout MMTk OpenJDK binding
uses: actions/checkout@v4
with:
path: ./git/mmtk-openjdk
- name: Extract OpenJDK revision
id: extract-openjdk-revision
run: |
OPENJDK_VERSION=`sed -n 's/^openjdk_version.=."\(.*\)"$/\1/p' < git/mmtk-openjdk/mmtk/Cargo.toml`
echo "openjdk-revision=$OPENJDK_VERSION" >> $GITHUB_OUTPUT
- name: Checkout OpenJDK
uses: actions/checkout@v4
with:
repository: mmtk/openjdk
path: ./git/openjdk
ref: ${{ steps.extract-openjdk-revision.outputs.openjdk-revision }}
# Patch mmtk-core version if needed
- name: Patch mmtk-core version
run: ./git/mmtk-openjdk/.github/scripts/ci-checkout.sh
- name: Patch mmtk-core version if needed
if: ${{ inputs.mmtk-core-repo != '' || inputs.mmtk-core-ref != '' }}
run: |
pip3 install tomlkit
Expand All @@ -60,14 +55,16 @@ jobs:
echo "BUILD_SUFFIX=$escaped_build" >> $GITHUB_ENV
fi
- name: Build MMTk OpenJDK ${{ inputs.debug-level }}
run: |
OPENJDK_PATH=$GITHUB_WORKSPACE/git/openjdk DEBUG_LEVEL=${{ inputs.debug-level }} OPENJDK_BUILD_TARGET=product-bundles ./.github/scripts/ci-build.sh
env:
DEBUG_LEVEL: ${{ inputs.debug-level }}
OPENJDK_BUILD_TARGET: product-bundles
run: ./.github/scripts/ci-build.sh
working-directory: ./git/mmtk-openjdk
- name: Upload bundles
uses: actions/upload-artifact@v4
with:
name: linux-x86_64-server-${{ inputs.debug-level }}-bundles-${{ env.BUILD_SUFFIX }}
path: |
./git/openjdk/build/linux-x86_64-normal-server-${{ inputs.debug-level }}/bundles/*_bin.tar.gz
./git/openjdk/build/linux-x86_64-normal-server-${{ inputs.debug-level }}/bundles/*_bin-debug.tar.gz
./git/openjdk/build/linux-x86_64-server-${{ inputs.debug-level }}/bundles/*_bin.tar.gz
./git/openjdk/build/linux-x86_64-server-${{ inputs.debug-level }}/bundles/*_bin-debug.tar.gz
retention-days: 2
6 changes: 3 additions & 3 deletions .github/workflows/run-dacapo-chopin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ on:
workflow_call:

env:
DACAPO_VERSION: dacapo-23.9-RC3-chopin
DACAPO_FILE: dacapo-23.9-RC3-chopin.zip
DACAPO_DOWNLOAD_URL: https://download.dacapobench.org/chopin/dacapo-23.9-RC3-chopin.zip
DACAPO_VERSION: dacapo-23.11-MR2-chopin
DACAPO_FILE: dacapo-23.11-MR2-chopin.zip
DACAPO_DOWNLOAD_URL: https://download.dacapobench.org/chopin/dacapo-23.11-MR2-chopin.zip

jobs:
cache-dacapo:
Expand Down
Loading
Loading