Skip to content
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

[GR-26395] Periodic update of the graal import. #3277

Merged
merged 3 commits into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
41 changes: 34 additions & 7 deletions ci/common.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,50 @@ local common_json = import "../common.json";
{
# JDK definitions
# ***************
local jdk_base = {
name: error "name not set", # string; The JDK provider, e.g. "jpg-jdk", "labsjdk"
version: error "version not set", # string; Full version string, e.g., "ce-21+35-jvmci-23.1-b15"
jdk_version:: error "jdk_version not set", # int; The major JDK version, e.g., 21
jdk_name:: "jdk%d" % self.jdk_version, # string; The major JDK version with the JDK prefix.
# For the latest (unreleased) this should be overridden with "jdk-latest"
# otherwise the jdk_version with the "jdk" prefix, e.g., "jdk21".
# This should be use for constructing CI job names.
# Optional:
# "build_id": "33",
# "release": true,
# "platformspecific": true,
# "extrabundles": ["static-libs"],
},
# ***************
local variants(name) = [name, name + "Debug", name + "-llvm"],
# gets the JDK major version from a labsjdk version string (e.g., "ce-21+35-jvmci-23.1-b15" -> 21)
local parse_labsjdk_version(version) =
assert std.startsWith(version, "ce-") || std.startsWith(version, "ee-") : "Unsupported labsjdk version: " + version;
local number_prefix(str) =
if std.length(str) == 0 || std.length(std.findSubstr(str[0], "0123456789")) == 0 then
""
else
str[0] + number_prefix(str[1:])
;
std.parseInt(number_prefix(version[3:]))
,
local jdks_data = {
oraclejdk11: common_json.jdks["oraclejdk11"] + { jdk_version:: 11 },
oraclejdk11: jdk_base + common_json.jdks["oraclejdk11"] + { jdk_version:: 11 },
} + {
[name]: common_json.jdks[name] + { jdk_version:: 17 }
[name]: jdk_base + common_json.jdks[name] + { jdk_version:: 17 }
for name in ["oraclejdk17"] + variants("labsjdk-ce-17") + variants("labsjdk-ee-17")
} + {
[name]: common_json.jdks[name] + { jdk_version:: 19 }
[name]: jdk_base + common_json.jdks[name] + { jdk_version:: 19 }
for name in ["oraclejdk19"] + variants("labsjdk-ce-19") + variants("labsjdk-ee-19")
} + {
[name]: common_json.jdks[name] + { jdk_version:: 20 }
[name]: jdk_base + common_json.jdks[name] + { jdk_version:: 20 }
for name in ["oraclejdk20"] + variants("labsjdk-ce-20") + variants("labsjdk-ee-20")
} + {
[name]: common_json.jdks[name] + { jdk_version:: 21 }
[name]: jdk_base + common_json.jdks[name] + { jdk_version:: 21 }
for name in ["oraclejdk21"] + variants("labsjdk-ce-21") + variants("labsjdk-ee-21")
} + {
[name]: common_json.jdks[name] + { jdk_version:: 22 }
for name in variants("labsjdk-ce-22") + variants("labsjdk-ee-22")
[name]: jdk_base + common_json.jdks[name] + { jdk_version:: parse_labsjdk_version(self.version), jdk_name:: "jdk-latest"}
for name in variants("labsjdk-ce-latest") + variants("labsjdk-ee-latest")
},
assert std.assertEqual(std.objectFields(common_json.jdks), std.objectFields(jdks_data)),

Expand All @@ -39,6 +65,7 @@ local common_json = import "../common.json";
[if std.endsWith(name, "llvm") then "LLVM_JAVA_HOME" else "JAVA_HOME"]: jdks_data[name]
},
jdk_version:: jdks_data[name].jdk_version,
jdk_name:: jdks_data[name].jdk_name,
},
for name in std.objectFields(jdks_data)
} + {
Expand Down
14 changes: 7 additions & 7 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
],

"mx_version": "6.46.1",
"mx_version": "6.50.2",

"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
"jdks": {
Expand Down Expand Up @@ -42,12 +42,12 @@
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21+35-jvmci-23.1-b15-debug", "platformspecific": true },
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21+35-jvmci-23.1-b15-sulong", "platformspecific": true },

"labsjdk-ce-22": {"name": "labsjdk", "version": "ce-22+13-jvmci-b01", "platformspecific": true },
"labsjdk-ce-22Debug": {"name": "labsjdk", "version": "ce-22+13-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-22-llvm": {"name": "labsjdk", "version": "ce-22+13-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-22": {"name": "labsjdk", "version": "ee-22+13-jvmci-b01", "platformspecific": true },
"labsjdk-ee-22Debug": {"name": "labsjdk", "version": "ee-22+13-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-22-llvm": {"name": "labsjdk", "version": "ee-22+13-jvmci-b01-sulong", "platformspecific": true }
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-22+15-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-22+15-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-22+15-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-22+15-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-22+15-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-22+15-jvmci-b01-sulong", "platformspecific": true }
},

"eclipse": {
Expand Down
3 changes: 2 additions & 1 deletion mx.truffleruby/env_files.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ Here is how the various env files relate to each other:
* `jvm-ce-libgraal`: + libgraal
* `native`: + librubyvm + `Truffle Macro`
* `native-host-inlining`: + `TruffleHostInliningPrintExplored`, - native toolchain launchers
* `jvm-ee`: + Oracle GraalVM Compiler + `Truffle enterprise`
* `native-profiling`: + `-H:-DeleteLocalSymbols`
* `jvm-ee`: + Oracle GraalVM Compiler + `Truffle enterprise` + license + `LLVM Runtime Native Enterprise`
* `jvm-ee-ntl`: + native toolchain launchers
* `jvm-ee-libgraal`: + libgraal
* `native-ee`: + librubyvm + `Truffle Macro Enterprise` + Native Image G1
Expand Down
6 changes: 4 additions & 2 deletions mx.truffleruby/jvm-ee
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise
NATIVE_IMAGES=false
# To also create the standalone
INSTALLABLES=TruffleRuby
BUILD_TARGETS=GRAALVM,GRAALVM_STANDALONES
# NOTE: SVM EE is added as a workaround to tell the JVM standalone to be EE
4 changes: 2 additions & 2 deletions mx.truffleruby/jvm-ee-libgraal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise,LibGraal Enterprise
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise,LibGraal Enterprise
NATIVE_IMAGES=suite:sulong,lib:jvmcicompiler
# To also create the standalone
INSTALLABLES=TruffleRuby
Expand Down
4 changes: 2 additions & 2 deletions mx.truffleruby/jvm-ee-ntl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise
NATIVE_IMAGES=suite:sulong
# To also create the standalone
INSTALLABLES=TruffleRuby
Expand Down
4 changes: 2 additions & 2 deletions mx.truffleruby/native-ee
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise,substratevm-enterprise-gcs
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise,suite:substratevm-enterprise-gcs
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise,substratevm-enterprise-gcs
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise,suite:substratevm-enterprise-gcs
NATIVE_IMAGES=suite:sulong,lib:rubyvm
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:-UnlockExperimentalVMOptions
GENERATE_DEBUGINFO=false
Expand Down
4 changes: 2 additions & 2 deletions mx.truffleruby/native-ee-aux
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise
NATIVE_IMAGES=suite:sulong,lib:rubyvm
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:-UnlockExperimentalVMOptions rubyvm:-H:+AuxiliaryEngineCache rubyvm:-H:ReservedAuxiliaryImageBytes=1073741824
GENERATE_DEBUGINFO=false
Expand Down
6 changes: 3 additions & 3 deletions mx.truffleruby/native-ee-host-inlining
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/substratevm-enterprise,substratevm-enterprise-gcs
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise,suite:substratevm-enterprise-gcs
DYNAMIC_IMPORTS=/tools,/truffleruby-enterprise,/graal-enterprise,/vm-enterprise,/sulong-managed,/substratevm-enterprise,substratevm-enterprise-gcs
COMPONENTS=TruffleRuby,suite:tools,GraalVM enterprise compiler,Truffle enterprise,GraalVM enterprise license files,LLVM Runtime Native Enterprise,SubstrateVM Enterprise,Truffle Macro Enterprise,suite:substratevm-enterprise-gcs
NATIVE_IMAGES=lib:rubyvm
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:Log=HostInliningPhase,~CanonicalizerPhase,~GraphBuilderPhase rubyvm:-H:+TruffleHostInliningPrintExplored rubyvm:-H:-UnlockExperimentalVMOptions rubyvm:-Dgraal.LogFile=host-inlining.txt
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:Log=HostInliningPhase,~CanonicalizerPhase,~GraphBuilderPhase rubyvm:-H:+TruffleHostInliningPrintExplored rubyvm:-H:-UnlockExperimentalVMOptions rubyvm:-Dgraal.LogFile=host-inlining.txt
GENERATE_DEBUGINFO=false
# To also create the standalone
INSTALLABLES=TruffleRuby
Expand Down
9 changes: 9 additions & 0 deletions mx.truffleruby/native-profiling
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
GRAALVM_SKIP_ARCHIVE=true
DYNAMIC_IMPORTS=/tools,/compiler,/substratevm
COMPONENTS=TruffleRuby,suite:tools,GraalVM compiler,SubstrateVM,Truffle Macro
NATIVE_IMAGES=suite:sulong,lib:rubyvm
EXTRA_IMAGE_BUILDER_ARGUMENTS=rubyvm:-H:+UnlockExperimentalVMOptions rubyvm:-H:BuildOutputJSONFile=native-image-build-rubyvm.json rubyvm:-H:-DeleteLocalSymbols rubyvm:-H:-UnlockExperimentalVMOptions
GENERATE_DEBUGINFO=false
# To also create the standalone
INSTALLABLES=TruffleRuby
BUILD_TARGETS=GRAALVM,GRAALVM_STANDALONES
4 changes: 2 additions & 2 deletions mx.truffleruby/suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
{
"name": "regex",
"subdir": True,
"version": "07e38d9f2ae21ec51f24ecfb64a0fba91f03752a",
"version": "77f8dd83827ed60ef68079d93f37b95a9412c681",
"urls": [
{"url": "https://github.com/oracle/graal.git", "kind": "git"},
{"url": "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind": "binary"},
Expand All @@ -29,7 +29,7 @@
{
"name": "sulong",
"subdir": True,
"version": "07e38d9f2ae21ec51f24ecfb64a0fba91f03752a",
"version": "77f8dd83827ed60ef68079d93f37b95a9412c681",
"urls": [
{"url": "https://github.com/oracle/graal.git", "kind": "git"},
{"url": "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind": "binary"},
Expand Down