Skip to content

Commit baeab6a

Browse files
[GR-62167] Update labsjdk to 25+10-jvmci-b01
PullRequest: graal/20057
2 parents 8e0b9db + 4b9a860 commit baeab6a

File tree

12 files changed

+43
-31
lines changed

12 files changed

+43
-31
lines changed

common.json

+8-8
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
1010
"jdks": {
11-
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+8-859", "platformspecific": true, "extrabundles": ["static-libs"]},
11+
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+10-1066", "platformspecific": true, "extrabundles": ["static-libs"]},
1212

1313
"oraclejdk17": {"name": "jpg-jdk", "version": "17.0.7", "build_id": "jdk-17.0.7+8", "platformspecific": true, "extrabundles": ["static-libs"]},
1414
"labsjdk-ce-17": {"name": "labsjdk", "version": "ce-17.0.7+4-jvmci-23.1-b02", "platformspecific": true },
@@ -45,13 +45,13 @@
4545

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

48-
"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+9", "platformspecific": true, "extrabundles": ["static-libs"]},
49-
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01", "platformspecific": true },
50-
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01-debug", "platformspecific": true },
51-
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01-sulong", "platformspecific": true },
52-
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01", "platformspecific": true },
53-
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01-debug", "platformspecific": true },
54-
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01-sulong", "platformspecific": true }
48+
"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+10", "platformspecific": true, "extrabundles": ["static-libs"]},
49+
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01", "platformspecific": true },
50+
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01-debug", "platformspecific": true },
51+
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01-sulong", "platformspecific": true },
52+
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01", "platformspecific": true },
53+
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01-debug", "platformspecific": true },
54+
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01-sulong", "platformspecific": true }
5555
},
5656

5757
"eclipse": {

compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/hotspot/test/PrintIntrinsicsTest.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2024, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -67,7 +67,6 @@ public void testInSubprocess() throws InterruptedException, IOException {
6767
assertLineInOutput(subprocess, "</Intrinsics>");
6868

6969
// Random selection of intrinsics that should be stable.
70-
assertLineInOutput(subprocess, "java.lang.Class.getModifiers()");
7170
assertLineInOutput(subprocess, "java.lang.Byte.valueOf(byte)");
7271
assertLineInOutput(subprocess, "java.lang.System.nanoTime()");
7372
assertLineInOutput(subprocess, "java.lang.Thread.currentThread()");

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/GraalHotSpotVMConfig.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ public final int logMinObjAlignment() {
244244
public final int classMirrorOffset = getFieldOffset("Klass::_java_mirror", Integer.class, "OopHandle");
245245

246246
public final int klassSuperKlassOffset = getFieldOffset("Klass::_super", Integer.class, "Klass*");
247-
public final int klassModifierFlagsOffset = getFieldOffset("Klass::_modifier_flags", Integer.class, JDK == 21 ? "jint" : "u2");
247+
public final int klassModifierFlagsOffset = getFieldOffset("Klass::_modifier_flags", Integer.class, "jint", -1, JDK == 21);
248248
public final int klassAccessFlagsOffset = getFieldOffset("Klass::_access_flags", Integer.class, "AccessFlags");
249249
public final int klassMiscFlagsOffset = getFieldOffset("Klass::_misc_flags._flags", Integer.class, "u1", 0, JDK >= 24);
250250
public final int klassLayoutHelperOffset = getFieldOffset("Klass::_layout_helper", Integer.class, "jint");

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/JVMCIVersionCheck.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public final class JVMCIVersionCheck {
5656
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
5757
"21", Map.of(DEFAULT_VENDOR_ENTRY, createLegacyVersion(23, 1, 33)),
5858
"25", Map.of(
59-
"Oracle Corporation", createLabsJDKVersion("25+9", 1),
60-
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+9", 1)));
59+
"Oracle Corporation", createLabsJDKVersion("25+10", 1),
60+
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+10", 1)));
6161
private static final int NA = 0;
6262
/**
6363
* Minimum Java release supported by Graal.

compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/hotspot/meta/HotSpotGraphBuilderPlugins.java

+14-12
Original file line numberDiff line numberDiff line change
@@ -373,19 +373,21 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec
373373
private static void registerClassPlugins(Plugins plugins, GraalHotSpotVMConfig config, Replacements replacements) {
374374
Registration r = new Registration(plugins.getInvocationPlugins(), Class.class, replacements);
375375

376-
r.register(new InvocationPlugin("getModifiers", Receiver.class) {
377-
@Override
378-
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
379-
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
380-
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
381-
// Primitive Class case
382-
ValueNode nonNullKlass = helper.emitNullReturnGuard(klass, ConstantNode.forInt(Modifier.ABSTRACT | Modifier.FINAL | Modifier.PUBLIC), GraalDirectives.UNLIKELY_PROBABILITY);
383-
// other return Klass::_modifier_flags
384-
helper.emitFinalReturn(JavaKind.Int, helper.readKlassModifierFlags(nonNullKlass));
376+
if (JavaVersionUtil.JAVA_SPEC == 21) {
377+
r.register(new InvocationPlugin("getModifiers", Receiver.class) {
378+
@Override
379+
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
380+
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
381+
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
382+
// Primitive Class case
383+
ValueNode nonNullKlass = helper.emitNullReturnGuard(klass, ConstantNode.forInt(Modifier.ABSTRACT | Modifier.FINAL | Modifier.PUBLIC), GraalDirectives.UNLIKELY_PROBABILITY);
384+
// other return Klass::_modifier_flags
385+
helper.emitFinalReturn(JavaKind.Int, helper.readKlassModifierFlags(nonNullKlass));
386+
}
387+
return true;
385388
}
386-
return true;
387-
}
388-
});
389+
});
390+
}
389391
r.register(new InvocationPlugin("isInterface", Receiver.class) {
390392
@Override
391393
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/amd64/AMD64LibCHelper.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
* - substratevm/src/com.oracle.svm.native.libchelper/include/amd64hotspotcpuinfo.h
4444
* - substratevm/src/com.oracle.svm.native.libchelper/src/cpuid.c
4545
*/
46-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+21/src/hotspot/cpu/x86/vm_version_x86.hpp#L41-L325")
46+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/cpu/x86/vm_version_x86.hpp#L41-L328")
4747
@CLibrary(value = "libchelper", requireStatic = true)
4848
public class AMD64LibCHelper {
4949
@Platforms(Platform.AMD64.class)
@@ -310,6 +310,10 @@ public interface CPUFeatures extends PointerBase {
310310
@AllowNarrowingCast
311311
@CField
312312
boolean fSHA512();
313+
314+
@AllowNarrowingCast
315+
@CField
316+
boolean fAVX512_FP16();
313317
}
314318
// Checkstyle: resume
315319
}

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/container/ContainerLibrary.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@
7171
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allocation.inline.hpp")
7272
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allStatic.hpp")
7373
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/nmt/memTag.hpp")
74-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+8/src/hotspot/share/runtime/os.cpp")
74+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/share/runtime/os.cpp")
7575
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/runtime/os.hpp")
7676
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/runtime/os.inline.hpp")
7777
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/checkedCast.hpp")
7878
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/compilerWarnings_gcc.hpp")
7979
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/compilerWarnings.hpp")
8080
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/globalDefinitions_gcc.hpp")
81-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/utilities/globalDefinitions.hpp")
81+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/share/utilities/globalDefinitions.hpp")
8282
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/macros.hpp")
8383
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/utilities/ostream.cpp")
8484
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/ostream.hpp")

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/hub/DynamicHub.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -1705,6 +1705,7 @@ public ProtectionDomain getProtectionDomain() {
17051705
}
17061706

17071707
@Substitute
1708+
@TargetElement(onlyWith = JDK21OrEarlier.class)
17081709
private ProtectionDomain protectionDomain() {
17091710
return getProtectionDomain();
17101711
}

substratevm/src/com.oracle.svm.hosted.foreign/src/com/oracle/svm/hosted/foreign/UpcallStub.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
import jdk.vm.ci.meta.ResolvedJavaMethod;
9898

9999
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/prims/upcallLinker.cpp")
100-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp")
100+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp")
101101
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp")
102102
public abstract class UpcallStub extends NonBytecodeMethod {
103103
protected final JavaEntryPointInfo jep;

substratevm/src/com.oracle.svm.native.libchelper/include/amd64cpufeatures.h

+1
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,5 @@ typedef struct {
8888
uint8_t fAVX_IFMA;
8989
uint8_t fAPX_F;
9090
uint8_t fSHA512;
91+
uint8_t fAVX512_FP16;
9192
} CPUFeatures;

substratevm/src/com.oracle.svm.native.libchelper/include/amd64hotspotcpuinfo.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,9 @@ typedef union {
267267
serialize : 1,
268268
: 5,
269269
cet_ibt : 1,
270-
: 11;
270+
: 2,
271+
avx512_fp16 : 1,
272+
: 8;
271273
} bits;
272274
} SefCpuid7Edx;
273275

substratevm/src/com.oracle.svm.native.libchelper/src/cpuid.c

+3
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,9 @@ NO_INLINE static void set_cpufeatures(CPUFeatures *features, CpuidInfo *_cpuid_i
547547
if (_cpuid_info->sef_cpuid7_edx.bits.serialize != 0) {
548548
features->fSERIALIZE = 1;
549549
}
550+
if (_cpuid_info->sef_cpuid7_edx.bits.avx512_fp16 != 0) {
551+
features->fAVX512_FP16 = 1;
552+
}
550553
}
551554

552555
// ZX features.

0 commit comments

Comments
 (0)