From d315fcc538c78229ca2f9d59afd09645d67ac408 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Mon, 4 Jul 2022 12:29:28 +0200 Subject: [PATCH 01/10] svm: use mx gate for the JDK 19 gate --- substratevm/ci.jsonnet | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/substratevm/ci.jsonnet b/substratevm/ci.jsonnet index e1232b7ae535..2e8409c28c7c 100644 --- a/substratevm/ci.jsonnet +++ b/substratevm/ci.jsonnet @@ -81,9 +81,7 @@ linux_amd64_jdk11 + gate("modules-basic", "build,hellomodule,test") + maven + svm_unittest + t("30:00"), linux_amd64_jdk17 + gate("style-fullbuild", "style,fullbuild,helloworld,test,svmjunit,debuginfotest") + common.eclipse + common.jdt + maven + jsonschema + svm_unittest + t("50:00") + mx_build_exploded + gdb("10.2"), linux_amd64_jdk19 + gate("build-ce", "build") + { - run: [ - # cannot yet use mx gate --tag build due to compile errors in /compiler - ["mx", "build"], + run+: [ # cannot yet use mx gate --tag hello world due to missing JFR support in JDK 19 ["mx", "helloworld"], ] From b3fcddc8149cf2213d1fab7e36f6a58d035ddba6 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Tue, 5 Jul 2022 16:55:32 +0200 Subject: [PATCH 02/10] svm: JFR is currently not supported in JDK 19 [GR-39564] [GR-39642] --- substratevm/mx.substratevm/mx_substratevm.py | 4 +++- .../src/com/oracle/svm/core/jfr/JfrFeature.java | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/substratevm/mx.substratevm/mx_substratevm.py b/substratevm/mx.substratevm/mx_substratevm.py index 4341c17ff7f5..3f9ae452bcf2 100644 --- a/substratevm/mx.substratevm/mx_substratevm.py +++ b/substratevm/mx.substratevm/mx_substratevm.py @@ -322,7 +322,9 @@ def image_demo_task(extra_image_args=None, flightrecorder=True): javac_command = ['--javac-command', ' '.join(javac_image_command(svmbuild_dir()))] helloworld(image_args + javac_command) helloworld(image_args + ['--shared']) # Build and run helloworld as shared library - if not mx.is_windows() and flightrecorder: + # JFR is currently not supported on JDK 19 [GR-39564] [GR-39642] + is_jdk_version_supported = mx.get_jdk().version < mx.VersionSpec("19") + if is_jdk_version_supported and not mx.is_windows() and flightrecorder: helloworld(image_args + ['-J-XX:StartFlightRecording=dumponexit=true']) # Build and run helloworld with FlightRecorder at image build time cinterfacetutorial(extra_image_args) clinittest([]) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/JfrFeature.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/JfrFeature.java index a3f7145708ef..87e7b09c9e64 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/JfrFeature.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/JfrFeature.java @@ -27,6 +27,7 @@ import java.util.Collections; import java.util.List; +import org.graalvm.compiler.serviceprovider.JavaVersionUtil; import org.graalvm.nativeimage.ImageSingletons; import org.graalvm.nativeimage.Platform; import org.graalvm.nativeimage.hosted.Feature; @@ -106,6 +107,11 @@ public boolean isInConfiguration(IsInConfigurationAccess access) { } public static boolean isInConfiguration(boolean allowPrinting) { + boolean javaVersionSupported = JavaVersionUtil.JAVA_SPEC < 19; + if (HOSTED_ENABLED && !javaVersionSupported) { + // [GR-39564] [GR-39642] + throw UserError.abort("FlightRecorder is currently not supported in JDK 19."); + } boolean systemSupported = osSupported(); if (HOSTED_ENABLED && !systemSupported) { throw UserError.abort("FlightRecorder cannot be used to profile the image generator on this platform. " + @@ -119,7 +125,7 @@ public static boolean isInConfiguration(boolean allowPrinting) { } runtimeEnabled = true; } - return runtimeEnabled && systemSupported; + return javaVersionSupported && runtimeEnabled && systemSupported; } private static boolean osSupported() { From 0c6d25f6da89fe427bceeaf904eb783a1cd0f968 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Wed, 6 Jul 2022 08:32:04 +0200 Subject: [PATCH 03/10] svm: run mx gate --tag helloworld on JDK 19 --- substratevm/ci.jsonnet | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/substratevm/ci.jsonnet b/substratevm/ci.jsonnet index 2e8409c28c7c..695f3e8973f9 100644 --- a/substratevm/ci.jsonnet +++ b/substratevm/ci.jsonnet @@ -80,12 +80,7 @@ linux_amd64_jdk11 + gate("build-ce", "build,checkstubs,helloworld,test,nativeimagehelp,muslcbuild,debuginfotest") + maven + svm_unittest + t("35:00") + musl_toolchain + gdb("10.2"), linux_amd64_jdk11 + gate("modules-basic", "build,hellomodule,test") + maven + svm_unittest + t("30:00"), linux_amd64_jdk17 + gate("style-fullbuild", "style,fullbuild,helloworld,test,svmjunit,debuginfotest") + common.eclipse + common.jdt + maven + jsonschema + svm_unittest + t("50:00") + mx_build_exploded + gdb("10.2"), - linux_amd64_jdk19 + gate("build-ce", "build") + { - run+: [ - # cannot yet use mx gate --tag hello world due to missing JFR support in JDK 19 - ["mx", "helloworld"], - ] - } + maven + svm_unittest + t("35:00"), + linux_amd64_jdk19 + gate("build-ce", "build,helloworld") + maven + svm_unittest + t("35:00"), windows_jdk17 + gate("basics", "build,helloworld,test,svmjunit") + svm_unittest + t("1:30:00"), windows_jdk17 + gate("basics-quickbuild", "build,helloworld_quickbuild,test_quickbuild,svmjunit_quickbuild") + svm_unittest + t("1:30:00"), ], From 7989c7218c1ecf8a0425a3770b7bf68e2d3868fc Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Wed, 6 Jul 2022 10:01:17 +0200 Subject: [PATCH 04/10] svm: give Threads a name in JDK 19 --- .../oracle/svm/core/thread/Target_java_lang_Thread.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java index cfcce8485714..9292cd84d5f8 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java @@ -336,7 +336,14 @@ private Target_java_lang_Thread( // TODO: derive from characteristics bitset boolean inheritThreadLocals = false; /* Initialize the rest of the Thread object, ignoring `characteristics`. */ - JavaThreads.initializeNewThread(this, g, target, name, stackSize, acc, inheritThreadLocals); + String nameLocal = (name != null) ? name : genThreadName(); + JavaThreads.initializeNewThread(this, g, target, nameLocal, stackSize, acc, inheritThreadLocals); + } + + @Substitute + @TargetElement(onlyWith = JDK19OrLater.class) + static String genThreadName() { + return "Thread-" + JavaThreads.threadInitNumber.incrementAndGet(); } /** From e0d1c4e1f198c7d5839a85ea942daa12de9d50bc Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Wed, 6 Jul 2022 16:16:50 +0200 Subject: [PATCH 05/10] svm: fix Thread.setCurrentThread for JDK 19 --- .../src/com/oracle/svm/core/thread/Target_java_lang_Thread.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java index 9292cd84d5f8..865d12e77ec3 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java @@ -291,7 +291,7 @@ static Thread currentVThread() { @SuppressWarnings("static-method") @Substitute - @TargetElement(onlyWith = LoomJDK.class) + @TargetElement(onlyWith = JDK19OrLater.class) void setCurrentThread(Thread thread) { PlatformThreads.setCurrentThread(JavaThreads.fromTarget(this), thread); } From e8e13caf2c0781771080572947b3d3b3fbe69636 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Thu, 7 Jul 2022 15:32:07 +0200 Subject: [PATCH 06/10] svm: substitute Thread.getAllThreads on JDK 19 --- .../svm/core/thread/PlatformThreads.java | 22 +++++++++++++++++++ .../core/thread/Target_java_lang_Thread.java | 6 +++++ 2 files changed, 28 insertions(+) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/PlatformThreads.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/PlatformThreads.java index 98489c0f4fc0..92b3a8227579 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/PlatformThreads.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/PlatformThreads.java @@ -750,6 +750,12 @@ static Map getAllStackTraces() { return vmOp.result; } + static Thread[] getAllThreads() { + GetAllThreadsOperation vmOp = new GetAllThreadsOperation(); + vmOp.enqueue(); + return vmOp.result.toArray(new Thread[0]); + } + @NeverInline("Starting a stack walk in the caller frame") private static StackTraceElement[] getStackTrace(IsolateThread thread) { if (thread == CurrentIsolate.getCurrentThread()) { @@ -943,6 +949,22 @@ protected void operate() { } } + private static class GetAllThreadsOperation extends JavaVMOperation { + private final ArrayList result; + + GetAllThreadsOperation() { + super(VMOperationInfos.get(GetAllThreadsOperation.class, "Get all threads", SystemEffect.SAFEPOINT)); + result = new ArrayList<>(); + } + + @Override + protected void operate() { + for (IsolateThread cur = VMThreads.firstThread(); cur.isNonNull(); cur = VMThreads.nextThread(cur)) { + result.add(PlatformThreads.fromVMThread(cur)); + } + } + } + /** * Builds a list of all application threads. This must be done in a VM operation because only * there we are allowed to allocate Java memory while holding the {@link VMThreads#THREAD_MUTEX} diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java index 865d12e77ec3..04d42139fb55 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/thread/Target_java_lang_Thread.java @@ -565,6 +565,12 @@ private static Map getAllStackTraces() { return PlatformThreads.getAllStackTraces(); } + @Substitute + @TargetElement(onlyWith = JDK19OrLater.class) + private static Thread[] getAllThreads() { + return PlatformThreads.getAllThreads(); + } + /** * In the JDK, this is a no-op except on Windows. The JDK resets the interrupt event used by * Process.waitFor ResetEvent((HANDLE) JVM_GetThreadInterruptEvent()); Our implementation in From 08409c659dfe01183f76bcefeb25c1ddf11c5b2d Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Mon, 11 Jul 2022 09:39:32 +0200 Subject: [PATCH 07/10] ci: use labsjdk-19 --- common.json | 12 +----------- common.jsonnet | 10 +++++++--- vm/ci_includes/vm.jsonnet | 4 ++-- 3 files changed, 10 insertions(+), 16 deletions(-) diff --git a/common.json b/common.json index 620e172a6246..69ada452e558 100644 --- a/common.json +++ b/common.json @@ -23,17 +23,7 @@ "labsjdk-ce-19-llvm": {"name": "labsjdk", "version": "ce-19+27-jvmci-22.3-b01-sulong", "platformspecific": true }, "labsjdk-ee-19": {"name": "labsjdk", "version": "ee-19.0.1+0-jvmci-22.3-b01", "platformspecific": true }, "labsjdk-ee-19Debug": {"name": "labsjdk", "version": "ee-19.0.1+0-jvmci-22.3-b01-debug", "platformspecific": true }, - "labsjdk-ee-19-llvm": {"name": "labsjdk", "version": "ee-19.0.1+0-jvmci-22.3-b01-sulong", "platformspecific": true }, - - "jdk-19-ea": { - "build_id": "jdk-19+28", - "name": "jpg-jdk", - "version": "19", - "extrabundles": [ - "static_libs" - ], - "platformspecific": true - } + "labsjdk-ee-19-llvm": {"name": "labsjdk", "version": "ee-19.0.1+0-jvmci-22.3-b01-sulong", "platformspecific": true } }, "COMMENT.devkits" : "The devkits versions reflect those used to build the JVMCI JDKs (e.g., see devkit_platform_revisions in /make/conf/jib-profiles.js)", diff --git a/common.jsonnet b/common.jsonnet index 561e78e04d0e..17942f8d493b 100644 --- a/common.jsonnet +++ b/common.jsonnet @@ -83,21 +83,25 @@ oraclejdk11:: jdk11 + { downloads+: { JAVA_HOME : jdks.oraclejdk11 }}, oraclejdk17:: jdk17 + { downloads+: { JAVA_HOME : jdks.oraclejdk17 }}, + oraclejdk19:: jdk19 + { downloads+: { JAVA_HOME : jdks.oraclejdk19 }}, openjdk11:: jdk11 + { downloads+: { JAVA_HOME : jdks.openjdk11 }}, "labsjdk-ce-11":: jdk11 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-11"] }}, "labsjdk-ee-11":: jdk11 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-11"] }}, "labsjdk-ce-17":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-17"] }}, "labsjdk-ee-17":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-17"] }}, + "labsjdk-ce-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-19"] }}, + "labsjdk-ee-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-19"] }}, "labsjdk-ce-17Debug":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-17Debug"] }}, "labsjdk-ee-17Debug":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-17Debug"] }}, + "labsjdk-ce-19Debug":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-19Debug"] }}, + "labsjdk-ee-19Debug":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-19Debug"] }}, "labsjdk-ce-11-llvm":: jdk11 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-11-llvm"] }}, "labsjdk-ee-11-llvm":: jdk11 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-11-llvm"] }}, "labsjdk-ce-17-llvm":: jdk17 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-17-llvm"] }}, "labsjdk-ee-17-llvm":: jdk17 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-17-llvm"] }}, - - "labsjdk-ce-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["jdk-19-ea"] + { open: false} }}, - "labsjdk-ee-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["jdk-19-ea"] + { open: false} }}, + "labsjdk-ce-19-llvm":: jdk19 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-19-llvm"] }}, + "labsjdk-ee-19-llvm":: jdk19 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-19-llvm"] }}, # Aliases to edition specific labsjdks labsjdk11:: self["labsjdk-" + repo_config.graalvm_edition + "-11"], diff --git a/vm/ci_includes/vm.jsonnet b/vm/ci_includes/vm.jsonnet index b95aa20cc6d3..f7143afbd401 100644 --- a/vm/ci_includes/vm.jsonnet +++ b/vm/ci_includes/vm.jsonnet @@ -26,8 +26,8 @@ local jdks = common_json.jdks; vm_java_19:: graal_common.labsjdk19 + { environment+: { - BASE_JDK_NAME: jdks['jdk-19-ea'].name, - BASE_JDK_VERSION: jdks['jdk-19-ea'].version, + BASE_JDK_NAME: jdks['labsjdk-ce-19'].name, + BASE_JDK_VERSION: jdks['labsjdk-ce-19'].version, BASE_JDK_SHORT_VERSION: '19', }, }, From ae37777a601d76c7d4daa9e52e029be0337b6a44 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Mon, 11 Jul 2022 10:12:18 +0200 Subject: [PATCH 08/10] ci: remove labsjdk11Debug as it does not exist --- common.jsonnet | 1 - 1 file changed, 1 deletion(-) diff --git a/common.jsonnet b/common.jsonnet index 17942f8d493b..dc0bb61e25dd 100644 --- a/common.jsonnet +++ b/common.jsonnet @@ -107,7 +107,6 @@ labsjdk11:: self["labsjdk-" + repo_config.graalvm_edition + "-11"], labsjdk17:: self["labsjdk-" + repo_config.graalvm_edition + "-17"], labsjdk19:: self["labsjdk-" + repo_config.graalvm_edition + "-19"], - labsjdk11Debug:: self["labsjdk-" + repo_config.graalvm_edition + "-11Debug"], labsjdk17Debug:: self["labsjdk-" + repo_config.graalvm_edition + "-17Debug"], labsjdk11LLVM:: self["labsjdk-" + repo_config.graalvm_edition + "-11-llvm"], labsjdk17LLVM:: self["labsjdk-" + repo_config.graalvm_edition + "-17-llvm"], From c13c26ab062e327b8dba5ba5c7bdf267514676cf Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Mon, 11 Jul 2022 11:24:51 +0200 Subject: [PATCH 09/10] ci: generate jdks in common.jsonnet --- common.jsonnet | 77 +++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 35 deletions(-) diff --git a/common.jsonnet b/common.jsonnet index dc0bb61e25dd..c62a23197db3 100644 --- a/common.jsonnet +++ b/common.jsonnet @@ -1,12 +1,41 @@ -{ - local composable = (import "common-utils.libsonnet").composable, +local composable = (import "common-utils.libsonnet").composable; + +local mx_version = (import "graal-common.json").mx_version; +local common_json = composable(import "common.json"); +local repo_config = import 'repo-configuration.libsonnet'; +local jdks = common_json.jdks; +local deps = common_json.deps; +local downloads = common_json.downloads; + +# Finds the first integer in a string and returns it as an integer. +local find_first_integer(versionString) = + local charToInt(c) = + std.codepoint(c) - std.codepoint("0"); + local firstNum(s, i) = + assert std.length(s) > i : "No number found in string " + s; + local n = charToInt(s[i]); + if n >=0 && n < 10 then i else firstNum(s, i + 1); + local lastNum(s, i) = + if i >= std.length(s) then + i + else + local n = charToInt(s[i]); + if n < 0 || n > 9 then i else lastNum(s, i + 1); + local versionIndexStart = firstNum(versionString, 0); + local versionIndexEnd = lastNum(versionString, versionIndexStart); + std.parseInt(versionString[versionIndexStart:versionIndexEnd]) +; +# jdk_version is an hidden field that can be used to generate job names +local add_jdk_version(name) = + local jdk = jdks[name]; + // this assumes that the version is the first number in the jdk.version string + local version = find_first_integer(jdk.version); + // santity check that the parsed version is also included in the name + assert std.length(std.findSubstr(std.toString(version), name)) == 1 : "Cannot find version %d in name %s" % [version, name]; + { jdk_version:: version} +; - local mx_version = (import "graal-common.json").mx_version, - local common_json = composable(import "common.json"), - local repo_config = import 'repo-configuration.libsonnet', - local jdks = common_json.jdks, - local deps = common_json.deps, - local downloads = common_json.downloads, +{ mx:: { packages+: { @@ -74,35 +103,13 @@ } }, +} + { // JDK definitions // *************** - # jdk_version is an hidden field that can be used to generate job names - local jdk11 = { jdk_version:: 11}, - local jdk17 = { jdk_version:: 17}, - local jdk19 = { jdk_version:: 19}, - - oraclejdk11:: jdk11 + { downloads+: { JAVA_HOME : jdks.oraclejdk11 }}, - oraclejdk17:: jdk17 + { downloads+: { JAVA_HOME : jdks.oraclejdk17 }}, - oraclejdk19:: jdk19 + { downloads+: { JAVA_HOME : jdks.oraclejdk19 }}, - openjdk11:: jdk11 + { downloads+: { JAVA_HOME : jdks.openjdk11 }}, - - "labsjdk-ce-11":: jdk11 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-11"] }}, - "labsjdk-ee-11":: jdk11 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-11"] }}, - "labsjdk-ce-17":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-17"] }}, - "labsjdk-ee-17":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-17"] }}, - "labsjdk-ce-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-19"] }}, - "labsjdk-ee-19":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-19"] }}, - "labsjdk-ce-17Debug":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-17Debug"] }}, - "labsjdk-ee-17Debug":: jdk17 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-17Debug"] }}, - "labsjdk-ce-19Debug":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ce-19Debug"] }}, - "labsjdk-ee-19Debug":: jdk19 + { downloads+: { JAVA_HOME : jdks["labsjdk-ee-19Debug"] }}, - "labsjdk-ce-11-llvm":: jdk11 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-11-llvm"] }}, - "labsjdk-ee-11-llvm":: jdk11 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-11-llvm"] }}, - "labsjdk-ce-17-llvm":: jdk17 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-17-llvm"] }}, - "labsjdk-ee-17-llvm":: jdk17 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-17-llvm"] }}, - "labsjdk-ce-19-llvm":: jdk19 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ce-19-llvm"] }}, - "labsjdk-ee-19-llvm":: jdk19 + { downloads+: { LLVM_JAVA_HOME : jdks["labsjdk-ee-19-llvm"] }}, - + // this adds all jdks from common.json + [name]: add_jdk_version(name) + { downloads+: { [if std.endsWith(name, "llvm") then "LLVM_JAVA_HOME" else "JAVA_HOME"] : jdks[name] }}, + for name in std.objectFieldsAll(jdks) +} + { # Aliases to edition specific labsjdks labsjdk11:: self["labsjdk-" + repo_config.graalvm_edition + "-11"], labsjdk17:: self["labsjdk-" + repo_config.graalvm_edition + "-17"], From 17cdf24035ceb30bf371cbd17aaf47922e7b0595 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Mon, 11 Jul 2022 11:35:23 +0200 Subject: [PATCH 10/10] ci: add missing vm_java_19 entries --- vm/ci_includes/vm.jsonnet | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vm/ci_includes/vm.jsonnet b/vm/ci_includes/vm.jsonnet index f7143afbd401..c7acb3af7fc4 100644 --- a/vm/ci_includes/vm.jsonnet +++ b/vm/ci_includes/vm.jsonnet @@ -44,6 +44,12 @@ local jdks = common_json.jdks; }, }, + vm_java_19_llvm:: self.vm_java_19 + { + downloads+: { + LLVM_JAVA_HOME: jdks['labsjdk-ce-19-llvm'], + }, + }, + binaries_repository: 'lafo', svm_suite:: '/substratevm', libgraal_env: 'libgraal',