Skip to content

[GR-64422] Update labsjdk to 25+19-jvmci-b01 #11071

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

Merged
merged 34 commits into from
Apr 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
303fb50
Automatic merge of master into galahad
dougxc Apr 11, 2025
40c7a6f
[GR-64175] Fix master-to-galahad merge conflict 11.04.2025
dougxc Apr 11, 2025
c36e629
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
1b529a6
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
a909464
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
05d61d6
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
fa140a3
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
4d14320
Automatic merge of master into galahad
OracleLabsAutomation Apr 11, 2025
ef66158
Automatic merge of master into galahad
OracleLabsAutomation Apr 12, 2025
fc1e0d5
Automatic merge of master into galahad
OracleLabsAutomation Apr 12, 2025
31825b2
Automatic merge of master into galahad
OracleLabsAutomation Apr 14, 2025
f00aafe
Automatic merge of master into galahad
OracleLabsAutomation Apr 14, 2025
029edd3
Automatic merge of master into galahad
OracleLabsAutomation Apr 14, 2025
0f497f7
Automatic merge of master into galahad
OracleLabsAutomation Apr 15, 2025
159b57a
Automatic merge of master into galahad
OracleLabsAutomation Apr 15, 2025
af43936
Automatic merge of master into galahad
OracleLabsAutomation Apr 15, 2025
e024f0a
Automatic merge of master into galahad
OracleLabsAutomation Apr 15, 2025
0893992
Automatic merge of master into galahad
OracleLabsAutomation Apr 16, 2025
d9fedec
Automatic merge of master into galahad
OracleLabsAutomation Apr 16, 2025
a4146b2
Automatic merge of master into galahad
OracleLabsAutomation Apr 16, 2025
cbd059d
Automatic merge of master into galahad
OracleLabsAutomation Apr 16, 2025
07c4cef
Automatic merge of master into galahad
OracleLabsAutomation Apr 16, 2025
a172af2
Automatic merge of master into galahad
OracleLabsAutomation Apr 17, 2025
13c5085
update JVMCI to 25+19-jvmci-b01
OracleLabsAutomation Apr 18, 2025
e5f2814
compiler: update JVMCIVersionCheck
zapster Apr 18, 2025
97b9b33
Merge tag 'jdk-25+19'
zapster Apr 18, 2025
331be93
svm: adopt "JDK-8350462: MethodTypeForm.LF_INTERPRET can cache the Me…
zapster Apr 18, 2025
f70acbe
svm: review libcontainer changes from 25+19
zapster Apr 18, 2025
46a4803
deploy labsjdk snapshots
marwan-hallaoui Apr 19, 2025
cc71cff
svm: adopt "JDK-8343982: Remove usage of security manager from ClassL…
zapster Apr 22, 2025
43caaed
Add missing intrinsics for ML-KEM (JDK-8349721)
mur47x111 Apr 22, 2025
130dfe0
svm: review "JDK-8351740: Clean up some code around initialization of…
zapster Apr 22, 2025
35d80b9
Adapt JDK-8353572: x86: AMD platforms miss the check for CLWB feature…
mur47x111 Apr 22, 2025
def2580
Bump Barista version.
Apr 23, 2025
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
14 changes: 7 additions & 7 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@

"oraclejdk23": {"name": "jpg-jdk", "version": "23", "build_id": "jdk-23+37", "platformspecific": true, "extrabundles": ["static-libs"]},

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

"eclipse": {
Expand Down
2 changes: 1 addition & 1 deletion compiler/ci/ci_common/benchmark-suites.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@

barista_template(suite_version=null, suite_name="barista", max_jdk_version=null, cmd_app_prefix=["hwloc-bind --cpubind node:0.core:0-3.pu:0 --membind node:0"], non_prefix_barista_args=[]):: cc.compiler_benchmark + {
suite:: suite_name,
local barista_version = "v0.3.3",
local barista_version = "v0.3.4",
local suite_version_args = if suite_version != null then ["--bench-suite-version=" + suite_version] else [],
local prefix_barista_arg = if std.length(cmd_app_prefix) > 0 then [std.format("--cmd-app-prefix=%s", std.join(" ", cmd_app_prefix))] else [],
local all_barista_args = prefix_barista_arg + non_prefix_barista_args,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ public final class JVMCIVersionCheck {
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
"21", Map.of(DEFAULT_VENDOR_ENTRY, createLegacyVersion(23, 1, 33)),
"25", Map.of(
"Oracle Corporation", createLabsJDKVersion("25+18", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+18", 1)));
"Oracle Corporation", createLabsJDKVersion("25+19", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+19", 1)));
private static final int NA = 0;
/**
* Minimum Java release supported by Graal.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,17 @@ public UnimplementedGraalIntrinsics(Architecture arch) {
// scalar operations
"jdk/internal/vm/vector/Float16Math.fma(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljdk/internal/vm/vector/Float16Math$TernaryOperator;)Ljava/lang/Object;",
"jdk/internal/vm/vector/Float16Math.sqrt(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;");

add(toBeInvestigated,
// JDK-8349721: Add aarch64 intrinsics for ML-KEM
// JDK-8351412: Add AVX-512 intrinsics for ML-KEM
"com/sun/crypto/provider/ML_KEM.implKyber12To16([BI[SI)I",
"com/sun/crypto/provider/ML_KEM.implKyberAddPoly([S[S[S)I",
"com/sun/crypto/provider/ML_KEM.implKyberAddPoly([S[S[S[S)I",
"com/sun/crypto/provider/ML_KEM.implKyberBarrettReduce([S)I",
"com/sun/crypto/provider/ML_KEM.implKyberInverseNtt([S[S)I",
"com/sun/crypto/provider/ML_KEM.implKyberNtt([S[S)I",
"com/sun/crypto/provider/ML_KEM.implKyberNttMult([S[S[S[S)I");
}

add(ignore,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class LocaleCHelper {
@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-24+17/src/java.base/unix/native/libjava/java_props_md.c#L436-L460")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+17/src/java.base/windows/native/libjava/java_props_md.c#L263-L722")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/java.base/windows/native/libjava/java_props_md.c#L264-L731")
static native int initializeLocale();

@CFunction(value = "svm_get_locale", transition = NO_TRANSITION)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
// The following annotations are for files in `src/hotspot`, which are copied from the JDK
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/java.base/share/native/include/jni.h")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/java.base/unix/native/include/jni_md.h")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupSubsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/hotspot/os/linux/cgroupSubsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupSubsystem_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupUtil_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupUtil_linux.hpp")
Expand All @@ -60,7 +60,7 @@
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/osContainer_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/osContainer_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/os_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/hotspot/os/linux/os_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/os_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/os_linux.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/posix/include/jvm_md.h")
Expand All @@ -71,8 +71,8 @@
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/memory/allocation.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/memory/allStatic.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/nmt/memTag.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/runtime/os.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/runtime/os.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/hotspot/share/runtime/os.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/hotspot/share/runtime/os.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/runtime/os.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/utilities/checkedCast.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/utilities/compilerWarnings_gcc.hpp")
Expand All @@ -85,7 +85,7 @@
// The following annotations are for files in `src/svm`, which are completely customized for SVM
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/logging/log.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/memory/allocation.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+19/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/utilities/debug.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/share/utilities/debug.hpp")
public class ContainerLibrary {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import com.oracle.svm.core.annotate.TargetClass;
import com.oracle.svm.core.annotate.TargetElement;
import com.oracle.svm.core.fieldvaluetransformer.NewEmptyArrayFieldValueTransformer;
import com.oracle.svm.core.invoke.Target_java_lang_invoke_MemberName;
import com.oracle.svm.core.jdk.JDK21OrEarlier;
import com.oracle.svm.core.jdk.JDKLatest;

Expand All @@ -50,6 +51,10 @@ final class Target_java_lang_invoke_MethodTypeForm {
@TargetElement(onlyWith = JDKLatest.class) //
private Object[] lambdaForms;

@Alias @RecomputeFieldValue(kind = Kind.Reset) //
@TargetElement(onlyWith = JDKLatest.class) //
private SoftReference<Target_java_lang_invoke_MemberName> interpretEntry;

@Alias @RecomputeFieldValue(kind = Kind.Custom, declClass = NewEmptyArrayFieldValueTransformer.class, isFinal = true) //
@TargetElement(name = "methodHandles", onlyWith = JDK21OrEarlier.class) //
private SoftReference<?>[] methodHandlesJDK21;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -729,10 +729,16 @@ private Class<?> defineClass(String cn, LoadedModule loadedModule) {

/**
* See {@code jdk.internal.loader.Loader#getPermissions}.
*
* The override was removed in JDK 24 by JDK-8343982.
*/
@SuppressWarnings("deprecation")
@Override
protected PermissionCollection getPermissions(CodeSource cs) {
PermissionCollection perms = super.getPermissions(cs);
if (JavaVersionUtil.JAVA_SPEC > 21) {
return perms;
}

URL url = cs.getLocation();
if (url == null) {
Expand Down
42 changes: 16 additions & 26 deletions substratevm/src/com.oracle.svm.native.libchelper/src/cpuid.c
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,10 @@ NO_INLINE static void set_cpufeatures(CPUFeatures *features, CpuidInfo *_cpuid_i
features->fTSCINV_BIT = 1;
if (_cpuid_info->std_cpuid1_ecx.bits.aes != 0)
features->fAES = 1;
if (_cpuid_info->ext_cpuid1_ecx.bits.lzcnt != 0)
features->fLZCNT = 1;
if (_cpuid_info->ext_cpuid1_ecx.bits.prefetchw != 0)
features->fAMD_3DNOW_PREFETCH = 1;
if (_cpuid_info->sef_cpuid7_ebx.bits.erms != 0)
features->fERMS = 1;
if (_cpuid_info->sef_cpuid7_edx.bits.fast_short_rep_mov != 0)
Expand All @@ -512,6 +516,8 @@ NO_INLINE static void set_cpufeatures(CPUFeatures *features, CpuidInfo *_cpuid_i
features->fFMA = 1;
if (_cpuid_info->sef_cpuid7_ebx.bits.clflushopt != 0)
features->fFLUSHOPT = 1;
if (_cpuid_info->sef_cpuid7_ebx.bits.clwb != 0)
features->fCLWB = 1;
if (_cpuid_info->ext_cpuid1_edx.bits.rdtscp != 0)
features->fRDTSCP = 1;
if (_cpuid_info->sef_cpuid7_ecx.bits.rdpid != 0)
Expand All @@ -520,47 +526,31 @@ NO_INLINE static void set_cpufeatures(CPUFeatures *features, CpuidInfo *_cpuid_i
_cpuid_info->xem_xcr0_eax.bits.apx_f != 0)
features->fAPX_F = 1;

// AMD|Hygon features.
// AMD|Hygon additional features.
if (is_amd_family(_cpuid_info))
{
if ((_cpuid_info->ext_cpuid1_edx.bits.tdnow != 0) ||
(_cpuid_info->ext_cpuid1_ecx.bits.prefetchw != 0))
// PREFETCHW was checked above, check TDNOW here.
if (_cpuid_info->ext_cpuid1_edx.bits.tdnow != 0)
features->fAMD_3DNOW_PREFETCH = 1;
if (_cpuid_info->ext_cpuid1_ecx.bits.lzcnt != 0)
features->fLZCNT = 1;
if (_cpuid_info->ext_cpuid1_ecx.bits.sse4a != 0)
features->fSSE4A = 1;
}

// Intel features.
// Intel additional features.
if (is_intel(_cpuid_info))
{
if (_cpuid_info->ext_cpuid1_ecx.bits.lzcnt != 0) {
features->fLZCNT = 1;
}
if (_cpuid_info->ext_cpuid1_ecx.bits.prefetchw != 0) {
features->fAMD_3DNOW_PREFETCH = 1;
}
if (_cpuid_info->sef_cpuid7_ebx.bits.clwb != 0) {
features->fCLWB = 1;
}
if (_cpuid_info->sef_cpuid7_edx.bits.serialize != 0) {
if (_cpuid_info->sef_cpuid7_edx.bits.serialize != 0)
features->fSERIALIZE = 1;
}
if (_cpuid_info->sef_cpuid7_edx.bits.avx512_fp16 != 0) {
if (_cpuid_info->sef_cpuid7_edx.bits.avx512_fp16 != 0)
features->fAVX512_FP16 = 1;
}
}

// ZX features.
// ZX additional features.
if (is_zx(_cpuid_info))
{
if (_cpuid_info->ext_cpuid1_ecx.bits.lzcnt != 0) {
features->fLZCNT = 1;
}
if (_cpuid_info->ext_cpuid1_ecx.bits.prefetchw != 0) {
features->fAMD_3DNOW_PREFETCH = 1;
}
// We do not know if these are supported by ZX, so we cannot trust
// common CPUID bit for them.
features->fCLWB = 0;
}

// Protection key features.
Expand Down