Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into feature/GR-17321-so…
Browse files Browse the repository at this point in the history
…ftware-fault-isolation
  • Loading branch information
matteoldani committed Jan 16, 2024
2 parents 67c390c + 69fd1f5 commit 5f2e6ef
Show file tree
Hide file tree
Showing 262 changed files with 4,966 additions and 2,491 deletions.
10 changes: 4 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,21 +161,21 @@ jobs:
MX_RUNS_STYLE: ${{ contains(matrix.env.GATE_TAGS, 'style') || matrix.env.GATE_TAGS == '' }}
steps:
- name: Checkout oracle/graal
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.ref }} # Lock ref to current branch to avoid fetching others
fetch-depth: "${{ env.MX_RUNS_STYLE && '0' || '1' }}" # The style gate needs the full commit history for checking copyright years
- name: Determine mx version
run: echo "MX_VERSION=$(jq -r '.mx_version' common.json)" >> ${GITHUB_ENV}
- name: Checkout graalvm/mx
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: graalvm/mx.git
ref: ${{ env.MX_VERSION }}
fetch-depth: 1
path: ${{ env.MX_PATH }}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Update mx cache
Expand All @@ -199,9 +199,7 @@ jobs:
if: ${{ env.MX_RUNS_STYLE == 'true' }}
run: |
sudo apt install python3-pip python-setuptools
sudo pip install ninja_syntax$(jq -r '.pip.ninja_syntax' common.json)
sudo pip install lazy-object-proxy$(jq -r '.pip["lazy-object-proxy"]' common.json)
sudo pip install pylint$(jq -r '.pip.pylint' common.json)
sudo pip install $(jq -r '[.pip | to_entries[] | join("")] | join(" ")' common.json)
- name: Install additional pip packages
if: ${{ matrix.env.PIP_PACKAGES != '' }}
run: ${MX_PYTHON} -m pip install ${{ matrix.env.PIP_PACKAGES }}
Expand Down
30 changes: 17 additions & 13 deletions .github/workflows/quarkus.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# The Universal Permissive License (UPL), Version 1.0
Expand Down Expand Up @@ -76,18 +76,18 @@ jobs:
matrix: ${{ steps.read.outputs.matrix }}
steps:
- name: Checkout oracle/graal
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Checkout graalvm/mx
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: graalvm/mx.git
fetch-depth: 1
ref: master
path: ${{ env.MX_PATH }}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Get latest Quarkus release
Expand All @@ -112,7 +112,7 @@ jobs:
- name: Fetch LabsJDK
run: |
mkdir jdk-dl
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-21 --to jdk-dl --alias ${LABSJDK_HOME}
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-latest --to jdk-dl --alias ${LABSJDK_HOME}
- name: Build graalvm native-image
run: |
export JAVA_HOME=${LABSJDK_HOME}
Expand All @@ -124,10 +124,15 @@ jobs:
shell: bash
run: tar -czvf graalvm.tgz -C $(dirname ${GRAALVM_HOME}) $(basename ${GRAALVM_HOME})
- name: Persist GraalVM build
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: graalvm
path: graalvm.tgz
# Use Java 17 to build Quarkus as that's the lowest supported JDK version currently
- uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: '17'
- name: Build Quarkus
run: |
cd ${QUARKUS_PATH}
Expand All @@ -142,7 +147,7 @@ jobs:
shell: bash
run: tar -czvf maven-repo.tgz -C ~ .m2/repository
- name: Persist Maven Repo
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: maven-repo
path: maven-repo.tgz
Expand All @@ -160,7 +165,7 @@ jobs:
steps:
- name: Download GraalVM build
if: startsWith(matrix.os-name, 'ubuntu')
uses: actions/download-artifact@v1
uses: actions/download-artifact@v4
with:
name: graalvm
path: .
Expand All @@ -181,19 +186,18 @@ jobs:
run: ${QUARKUS_PATH}/.github/ci-prerequisites.sh
- name: Download Maven Repo
if: startsWith(matrix.os-name, 'ubuntu')
uses: actions/download-artifact@v1
uses: actions/download-artifact@v4
with:
name: maven-repo
path: .
- name: Extract Maven Repo
if: startsWith(matrix.os-name, 'ubuntu')
shell: bash
run: tar -xzf maven-repo.tgz -C ~
- uses: graalvm/setup-graalvm@v1
- uses: actions/setup-java@v4
with:
version: 'latest'
distribution: 'oracle'
java-version: '17'
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build with Maven
if: startsWith(matrix.os-name, 'ubuntu')
env:
Expand All @@ -208,7 +212,7 @@ jobs:
shell: bash
run: find . -type d -name '*-reports' -o -wholename '*/build/reports/tests/functionalTest' | tar -czf test-reports.tgz -T -
- name: Upload failure Archive (if maven failed)
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
if: failure()
with:
name: test-reports-native-${{matrix.category}}
Expand Down
6 changes: 3 additions & 3 deletions ci-branch-config.jsonnet
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"galahad.*": {
"config_file": "galahad.jsonnet",
"overlay_file": null
"overlay_file": "galahad-graal.jsonnet",
},
"release/galahad/.*": {
"config_file": "galahad.jsonnet",
"overlay_file": null
"overlay_file": "galahad-graal.jsonnet",
},
"cpu/galahad/.*": {
"config_file": "galahad.jsonnet",
"overlay_file": null
"overlay_file": "galahad-graal.jsonnet",
},
}
26 changes: 16 additions & 10 deletions ci/ci_common/galahad-common.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,18 @@ local galahad_jdk = common_json.jdks["galahad-jdk"];
local utils = import "common-utils.libsonnet";
{
local GALAHAD_PROPERTY = "_galahad_include",
local arrContains(arr, needle) =
std.find(needle, arr) != []
,
# Return true if this is a gate job.
local is_gate(b) =
std.find("gate", b.targets) != []
,
local gate_or_postmerge_targets = ["gate", "post-merge", "deploy"],
# Return true if this is a gate or post-merge/deployment job.
local is_gate_or_postmerge(b) =
std.setInter(gate_or_postmerge_targets, b.targets) != []
,
local finalize(b) = std.parseJson(std.manifestJson(b)),
# Converts a gate job into an ondemand job.
local convert_gate_to_ondemand(jsonnetBuildObject) =
Expand All @@ -28,10 +36,13 @@ local utils = import "common-utils.libsonnet";
else
{}
;
assert is_gate(b) : "Not a gate job: " + b.name;
assert is_gate_or_postmerge(b) : "Not a gate or postmerge job: " + b.name;
b + {
name: std.strReplace(b.name, "gate", "ondemand"),
targets: [if t == "gate" then "ondemand" else t for t in b.targets],
name: "non-galahad-" + b.name,
# replace gate or postmerge targets with ondemand
targets: std.set(std.setDiff(b.targets, gate_or_postmerge_targets) + ["ondemand"]),
# remove runAfter
runAfter: [],
}
,
# Replaces labsjdk-ce-latest and labsjdk-ee-latest with galahad-jdk
Expand All @@ -51,7 +62,7 @@ local utils = import "common-utils.libsonnet";
# This is preferred over removing irrelevant jobs because it does not introduce problems
# with respect to dependent jobs (artifacts).
local transform_galahad_job(b) =
if !is_gate(b) then
if !is_gate_or_postmerge(b) then
b
else
local include = std.foldr(function(x, y) x && y, utils.std_get(b, GALAHAD_PROPERTY, [false]), true);
Expand All @@ -63,7 +74,7 @@ local utils = import "common-utils.libsonnet";
,
# Verify that a job really makes sense for galahad
local verify_galahad_job(b) =
if !is_gate(b) then
if !is_gate_or_postmerge(b) then
# we only care about gate jobs
b
else
Expand All @@ -87,11 +98,6 @@ local utils = import "common-utils.libsonnet";

####### Public API

# Return true if this is a gate job.
is_gate(b):: is_gate(b),
# Converts a gate job into an ondemand job.
convert_gate_to_ondemand(b):: convert_gate_to_ondemand(b),

# Include a jobs in the galahad gate
include:: {
# There seems to be a problem with sjsonnet when merging boolean fields.
Expand Down
18 changes: 9 additions & 9 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
],

"mx_version": "7.4.1",
"mx_version": "7.6.1",

"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
"jdks": {
"galahad-jdk": {"name": "jpg-jdk", "version": "22", "build_id": "jdk-22+25", "platformspecific": true, "extrabundles": ["static-libs"]},
"galahad-jdk": {"name": "jpg-jdk", "version": "23", "build_id": "jdk-23+4", "platformspecific": true, "extrabundles": ["static-libs"]},

"oraclejdk11": {"name": "jpg-jdk", "version": "11.0.11", "build_id": "9", "release": true, "platformspecific": true, "extrabundles": ["static-libs"] },

Expand Down Expand Up @@ -44,13 +44,13 @@
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-sulong", "platformspecific": true },

"oraclejdk-latest": {"name": "jpg-jdk", "version": "23", "build_id": "1", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-23+1-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-23+1-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-23+1-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-23+1-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-23+1-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-23+1-jvmci-b01-sulong", "platformspecific": true }
"oraclejdk-latest": {"name": "jpg-jdk", "version": "23", "build_id": "4", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-23+4-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-23+4-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-23+4-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-23+4-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-23+4-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-23+4-jvmci-b01-sulong", "platformspecific": true }
},

"eclipse": {
Expand Down
3 changes: 3 additions & 0 deletions compiler/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

This changelog summarizes newly introduced optimizations and other compiler related changes.

## GraalVM for JDK 23 (Internal Version 24.1.0)
* (GR-50352): Added `-Djdk.graal.PrintPropertiesAll` to make `-XX:+JVMCIPrintProperties` show all Graal options.

## GraalVM for JDK 22 (Internal Version 24.0.0)
* (GR-49876): Added `-Dgraal.PrintIntrinsics=true` to log the intrinsics used by Graal in the current runtime.
* (GR-49960): The Graal options now use the `jdk.graal.` prefix (e.g. `-Djdk.graal.PrintCompilation=true`).
Expand Down
29 changes: 14 additions & 15 deletions compiler/ci/ci_common/benchmark-builders.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,11 @@
[
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.dacapo + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_size_variants,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.dacapo_timing,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_size_variants,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.scala_dacapo_timing,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.renaissance + PR_bench_libgraal,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.specjvm2008 + PR_bench_libgraal,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015,
c.weekly + hw.x52 + jdk + cc.libgraal + bench.specjbb2015_full_machine,
c.daily + c.opt_post_merge + hw.x52 + jdk + cc.libgraal + bench.awfy + PR_bench_libgraal,
c.daily + hw.x52 + jdk + cc.libgraal + bench.microservice_benchmarks,
c.daily + hw.x52 + jdk + cc.libgraal + bench.micros_graal_whitebox,
Expand All @@ -34,64 +31,66 @@
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.specjvm2008 + {job_prefix:: "bench-e4vm-compiler"},
c.daily + hw.e4_8_64 + jdk + cc.libgraal + bench.microservice_benchmarks + {job_prefix:: "bench-e4vm-compiler"},
]
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
]),

local profiling_builds = std.flattenArrays([
[
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.enable_profiling + { job_prefix:: "bench-compiler-profiling" },
c.weekly + hw.x52 + jdk + cc.libgraal + suite + cc.footprint_tracking + { job_prefix:: "bench-compiler-footprint" }
]
for jdk in cc.bench_jdks
for suite in bench.groups.profiled_suites
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
]),

local weekly_amd64_forks_builds = std.flattenArrays([
bc.generate_fork_builds(c.weekly + hw.x52 + jdk + cc.libgraal + suite, subdir='compiler') +
bc.generate_fork_builds(c.monthly + hw.x52 + jdk + cc.jargraal + suite, subdir='compiler')
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.weekly_forks_suites
]),

local weekly_aarch64_forks_builds = std.flattenArrays([
bc.generate_fork_builds(c.weekly + hw.a12c + cc.latest_jdk + cc.libgraal + suite, subdir='compiler')
bc.generate_fork_builds(c.weekly + hw.a12c + jdk + cc.libgraal + suite, subdir='compiler')
for jdk in cc.product_jdks
for suite in bench.groups.weekly_forks_suites
]),

local aarch64_builds = [
c.daily + hw.a12c + cc.latest_jdk + cc.libgraal + suite,
for suite in bench.groups.all_suites
c.daily + hw.a12c + jdk + cc.libgraal + suite,
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

local avx_builds = [
c.monthly + hw.x82 + jdk + cc.libgraal + avx + suite,
for avx in [cc.avx2_mode, cc.avx3_mode]
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

local zgc_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.zgc_mode + suite,
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.main_suites + [bench.specjbb2015]
],

local zgc_avx_builds = [
c.monthly + hw.x82 + jdk + cc.libgraal + cc.zgc_mode + avx + suite,
for avx in [cc.avx2_mode, cc.avx3_mode]
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

local no_tiered_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_tiered_comp + suite,
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

local no_profile_info_builds = [
c.weekly + hw.x52 + jdk + cc.libgraal + cc.no_profile_info + suite,
for jdk in cc.bench_jdks
for jdk in cc.product_jdks
for suite in bench.groups.main_suites
],

Expand Down
Loading

0 comments on commit 5f2e6ef

Please sign in to comment.