Skip to content

Commit

Permalink
Merge with master.
Browse files Browse the repository at this point in the history
  • Loading branch information
christianhaeubl committed Jan 25, 2024
2 parents 0e2edeb + 61fa801 commit 795e762
Show file tree
Hide file tree
Showing 918 changed files with 21,794 additions and 15,029 deletions.
8 changes: 1 addition & 7 deletions .github/workflows/cdt-inspect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,6 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: browser-actions/setup-chrome@v1
with:
chrome-version: dev
id: setup-chrome
- name: Checkout oracle/graal
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -90,10 +86,8 @@ jobs:
mkdir jdk-dl
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-${JDK_VERSION} --to jdk-dl --alias ${JAVA_HOME}
- run: |
echo Installed chromium version: ${{ steps.setup-chrome.outputs.chrome-version }}
${{ steps.setup-chrome.outputs.chrome-path }} --version
cd ${{ github.workspace }}/graal/vm
${MX_PATH}/mx --dy /tools,graal-js build
cd tests/gh_workflows/CDTInspectorTest
mvn -q compile
mvn -q exec:exec -Dtestargs="${{ github.workspace }}/graal/sdk/latest_graalvm_home/bin/js scripts/StepTest.js ${{ steps.setup-chrome.outputs.chrome-path }} ${{ steps.setup-chrome.outputs.chrome-version }}"
mvn -q exec:exec -Dtestargs="${{ github.workspace }}/graal/sdk/latest_graalvm_home/bin/js scripts/StepTest.js"
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",
},
}
31 changes: 14 additions & 17 deletions ci.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -40,29 +40,26 @@ local visualizer = import 'visualizer/ci/ci.jsonnet';

local verify_ci = (import 'ci/ci_common/ci-check.libsonnet').verify_ci;

# JDK latest only works on MacOS Ventura (GR-49652)
local exclude_latest_darwin_amd64(builds) = [b for b in builds if !(import 'ci/ci_common/common-utils.libsonnet').contains(b.name, "labsjdk-latest-darwin-amd64")];

{
# Ensure that non-hidden entries in ci/common.jsonnet and ci/ci_common/common.jsonnet can be resolved.
assert std.length(std.toString(import 'ci/ci_common/common.jsonnet')) > 0,
ci_resources:: (import 'ci/ci_common/ci-resources.libsonnet'),
overlay: graal_common.ci.overlay,
specVersion: "3",
builds: exclude_latest_darwin_amd64([common.add_excludes_guard(b) for b in (
compiler.builds +
wasm.builds +
espresso.builds +
regex.builds +
sdk.builds +
substratevm.builds +
sulong.builds +
tools.builds +
truffle.builds +
javadoc.builds +
vm.builds +
visualizer.builds
)]),
builds: [common.add_excludes_guard(b) for b in (
common.with_components(compiler.builds, ["compiler"]) +
common.with_components(wasm.builds, ["wasm"]) +
common.with_components(espresso.builds, ["espresso"]) +
common.with_components(regex.builds, ["regex"]) +
common.with_components(sdk.builds, ["sdk"]) +
common.with_components(substratevm.builds, ["svm"]) +
common.with_components(sulong.builds, ["sulong"]) +
common.with_components(tools.builds, ["tools"]) +
common.with_components(truffle.builds, ["truffle"]) +
common.with_components(javadoc.builds, ["javadoc"]) +
common.with_components(vm.builds, ["vm"]) +
common.with_components(visualizer.builds, ["visualizer"])
)],
assert verify_ci(self.builds),
// verify that the run-spec demo works
assert (import "ci/ci_common/run-spec-demo.jsonnet").check(),
Expand Down
10 changes: 10 additions & 0 deletions ci/ci_common/common.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,16 @@ common + common.frequencies + {
} else {}
),

# Add the specified components to the field `components`.
with_components(builds, components)::
[
if std.objectHas(build, "components") then
build + { "components" : std.setUnion(components, build.components) }
else
build + { "components" : components }
for build in builds
],

// Heap settings
// *************
local small_heap = "1G",
Expand Down
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
8 changes: 7 additions & 1 deletion ci/common.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ local common_json = import "../common.json";
"linux-jdk19": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
"linux-jdk20": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
"linux-jdk21": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
"linux-jdk-latest": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
"linux-jdkLatest": self["linux-jdk-latest"],
},

# Dependencies
Expand Down Expand Up @@ -229,6 +231,9 @@ local common_json = import "../common.json";
},

svm:: {
packages+: {
cmake: "==3.22.2",
},
environment+: {
DEFAULT_VM: "server",
LANG: "en_US.UTF-8",
Expand Down Expand Up @@ -341,7 +346,8 @@ local common_json = import "../common.json";
},

local linux = { os:: "linux", capabilities+: [self.os] },
local darwin = { os:: "darwin", capabilities+: [self.os] },
# Run darwin jobs on Big Sur or later by excluding all older versions
local darwin = { os:: "darwin", capabilities+: [self.os, "!darwin_sierra", "!darwin_mojave", "!darwin_catalina"] },
local windows = { os:: "windows", capabilities+: [self.os] },

local amd64 = { arch:: "amd64", capabilities+: [self.arch] },
Expand Down
30 changes: 15 additions & 15 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 @@ -37,20 +37,20 @@
"labsjdk-ee-20-llvm": {"name": "labsjdk", "version": "ee-20.0.2+2-jvmci-23.1-b02-sulong", "platformspecific": true },

"oraclejdk21": {"name": "jpg-jdk", "version": "21", "build_id": "33", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-21": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22", "platformspecific": true },
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22-debug", "platformspecific": true },
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22-sulong", "platformspecific": true },
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22", "platformspecific": true },
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22-sulong", "platformspecific": true },
"labsjdk-ce-21": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26", "platformspecific": true },
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26-debug", "platformspecific": true },
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26-sulong", "platformspecific": true },
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26", "platformspecific": true },
"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": "22", "build_id": "25", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01-sulong", "platformspecific": true }
"oraclejdk-latest": {"name": "jpg-jdk", "version": "23", "build_id": "6", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-23+6-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-23+6-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-23+6-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-23+6-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-23+6-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-23+6-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
Loading

0 comments on commit 795e762

Please sign in to comment.