diff --git a/ci/ci_common/galahad-common.libsonnet b/ci/ci_common/galahad-common.libsonnet index 200913fca05d..3b89df1fcd77 100644 --- a/ci/ci_common/galahad-common.libsonnet +++ b/ci/ci_common/galahad-common.libsonnet @@ -11,9 +11,9 @@ local utils = import "common-utils.libsonnet"; , # Return true if this is a gate job. local is_gate(b) = - std.find("gate", b.targets) != [] + std.setInter(["gate", "tier1", "tier2", "tier3"], b.targets) != [] , - local gate_or_postmerge_targets = ["gate", "post-merge", "deploy"], + local gate_or_postmerge_targets = ["gate", "tier1", "tier2", "tier3", "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) != [] diff --git a/common.json b/common.json index 5b3c75de133f..1a76054eead3 100644 --- a/common.json +++ b/common.json @@ -8,7 +8,7 @@ "COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet", "jdks": { - "galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+6-570", "platformspecific": true, "extrabundles": ["static-libs"]}, + "galahad-jdk": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+7-655", "platformspecific": true, "extrabundles": ["static-libs"]}, "oraclejdk17": {"name": "jpg-jdk", "version": "17.0.7", "build_id": "jdk-17.0.7+8", "platformspecific": true, "extrabundles": ["static-libs"]}, "labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.7+4-jvmci-23.1-b02", "platformspecific": true }, @@ -53,13 +53,13 @@ "labsjdk-ee-25Debug": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-debug", "platformspecific": true }, "labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+26-jvmci-b01-sulong", "platformspecific": true }, - "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+6", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+6-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+5-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+6-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+5-jvmci-b01-sulong", "platformspecific": true } + "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+7", "platformspecific": true, "extrabundles": ["static-libs"]}, + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+7-jvmci-b01", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+7-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+7-jvmci-b01-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+7-jvmci-b01", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+7-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+7-jvmci-b01-sulong", "platformspecific": true } }, "eclipse": { diff --git a/compiler/mx.compiler/mx_compiler.py b/compiler/mx.compiler/mx_compiler.py index c8076f517870..6047b0e56565 100644 --- a/compiler/mx.compiler/mx_compiler.py +++ b/compiler/mx.compiler/mx_compiler.py @@ -1264,9 +1264,6 @@ def get_latest_jvmci_version(): mx.abort(msg) if version_check_setting == 'strict' and not success: - # [GR-67676] The `-llvm` artifacts are currently not up to date due to a JDK build system problem JDK-8361844. - if latest.endswith('-llvm'): - return if latest == 'not found': msg = f'No JVMCI JDK found in {common_path} that matches {_jdk_jvmci_version}.' msg += os.linesep + f'Check that {latest} matches the versions of the other JVMCI JDKs.' diff --git a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java index 764f6195654c..5667f980e925 100644 --- a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java +++ b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java @@ -57,8 +57,8 @@ public final class JVMCIVersionCheck { // Checkstyle: stop stable iteration order check private static final Map> JVMCI_MIN_VERSIONS = Map.of( "26", Map.of( - "Oracle Corporation", createLabsJDKVersion("26+6", 1), - DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+6", 1))); + "Oracle Corporation", createLabsJDKVersion("26+7", 1), + DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+7", 1))); // Checkstyle: resume stable iteration order check private static final int NA = 0; diff --git a/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl/Method.java b/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl/Method.java index f3d83786d8c8..2e809465f04f 100644 --- a/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl/Method.java +++ b/espresso/src/com.oracle.truffle.espresso/src/com/oracle/truffle/espresso/impl/Method.java @@ -1961,10 +1961,10 @@ private EspressoException unsatisfiedLinkError() { private void checkPoisonPill(Meta meta) { if (poisonPill) { // Conflicting Maximally-specific non-abstract interface methods. - if (getJavaVersion().java9OrLater() && getSpecComplianceMode() == EspressoOptions.SpecComplianceMode.HOTSPOT) { + if (getJavaVersion().inRange(9, 25) && getSpecComplianceMode() == EspressoOptions.SpecComplianceMode.HOTSPOT) { /* * Supposed to be IncompatibleClassChangeError (see jvms-6.5.invokeinterface), - * but HotSpot throws AbstractMethodError. + * but HotSpot throws AbstractMethodError. See JDK-8356942. */ throw meta.throwExceptionWithMessage(meta.java_lang_AbstractMethodError, "Conflicting default methods: " + getName()); } diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/c/locale/LocaleCHelper.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/c/locale/LocaleCHelper.java index 5832b2e9bc73..380121402099 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/c/locale/LocaleCHelper.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/c/locale/LocaleCHelper.java @@ -59,7 +59,7 @@ class LocaleCHelper { * {@link #SVM_LOCALE_INITIALIZATION_OUT_OF_MEMORY}. */ @CFunction(value = "svm_initialize_locale", transition = NO_TRANSITION) - @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+17/src/java.base/unix/native/libjava/java_props_md.c#L71-L357") + @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+7/src/java.base/unix/native/libjava/java_props_md.c#L71-L359") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+17/src/java.base/unix/native/libjava/java_props_md.c#L436-L460") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+21/src/java.base/windows/native/libjava/java_props_md.c#L263-L721") static native int initializeLocale(); diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/Target_jdk_jfr_internal_JVM.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/Target_jdk_jfr_internal_JVM.java index 3b4d065267f9..2f66a5ed11f1 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/Target_jdk_jfr_internal_JVM.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jfr/Target_jdk_jfr_internal_JVM.java @@ -296,9 +296,15 @@ public static void setMethodSamplingPeriod(long type, long intervalMillis) { SubstrateJVM.get().setMethodSamplingInterval(type, intervalMillis); } - /** See {@code JVM#setCPUThrottle}. */ + /** See {@code JVM#setCPURate}. */ @Substitute - public static void setCPUThrottle(double rate, boolean autoAdapt) { + public static void setCPURate(double rate) { + // JFR CPUTimeSample is not supported. + } + + /** See {@code JVM#setCPUPeriod}. */ + @Substitute + public static void setCPUPeriod(long periodNanos) { // JFR CPUTimeSample is not supported. } diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jvmti/headers/JvmtiDirectives.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jvmti/headers/JvmtiDirectives.java index f494545fc624..0a05da75a6b8 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jvmti/headers/JvmtiDirectives.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jvmti/headers/JvmtiDirectives.java @@ -35,7 +35,7 @@ import com.oracle.svm.core.SubstrateOptions; import com.oracle.svm.core.util.BasedOnJDKFile; -@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+2/src/hotspot/share/prims/jvmti.xml") +@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+7/src/hotspot/share/prims/jvmti.xml") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+11/src/hotspot/share/prims/jvmtiH.xsl") class JvmtiDirectives implements CContext.Directives { private final Path jdkIncludeDir = Paths.get(System.getProperty("java.home")).resolve("include"); diff --git a/substratevm/src/com.oracle.svm.native.libchelper/src/locale.c b/substratevm/src/com.oracle.svm.native.libchelper/src/locale.c index 25889390f680..bda9b7185476 100644 --- a/substratevm/src/com.oracle.svm.native.libchelper/src/locale.c +++ b/substratevm/src/com.oracle.svm.native.libchelper/src/locale.c @@ -206,6 +206,7 @@ static int ParseLocale(int cat, char ** std_language, char ** std_script, if (language != NULL && mapLookup(language_names, language, std_language) == 0) { *std_language = malloc(strlen(language)+1); if (*std_language == NULL) { + free(temp); free(encoding_variant); return SVM_LOCALE_INITIALIZATION_OUT_OF_MEMORY; } @@ -218,6 +219,7 @@ static int ParseLocale(int cat, char ** std_language, char ** std_script, if (mapLookup(country_names, country, std_country) == 0) { *std_country = malloc(strlen(country)+1); if (*std_country == NULL) { + free(temp); free(encoding_variant); return SVM_LOCALE_INITIALIZATION_OUT_OF_MEMORY; } diff --git a/substratevm/src/com.oracle.svm.truffle.tck/src/com/oracle/svm/truffle/tck/resources/jdk_privileged_methods.json b/substratevm/src/com.oracle.svm.truffle.tck/src/com/oracle/svm/truffle/tck/resources/jdk_privileged_methods.json index dd990fc9e451..38290834d06b 100644 --- a/substratevm/src/com.oracle.svm.truffle.tck/src/com/oracle/svm/truffle/tck/resources/jdk_privileged_methods.json +++ b/substratevm/src/com.oracle.svm.truffle.tck/src/com/oracle/svm/truffle/tck/resources/jdk_privileged_methods.json @@ -2839,17 +2839,6 @@ } ] }, - { - "name": "java.applet.Applet", - "methods": [ - { - "name": "setStub", - "parameterTypes": [ - "java.applet.AppletStub" - ] - } - ] - }, { "name": "java.awt.Button", "methods": [