Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
5c81537
Automatic merge of master into galahad
OracleLabsAutomation Feb 6, 2025
d9501e5
Automatic merge of master into galahad
OracleLabsAutomation Feb 6, 2025
3041d32
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
a514c6c
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
ef349ca
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
73ed3c4
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
4779b71
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
39695c6
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
a6dad07
Automatic merge of master into galahad
OracleLabsAutomation Feb 7, 2025
819a985
Automatic merge of master into galahad
OracleLabsAutomation Feb 8, 2025
1088c05
Automatic merge of master into galahad
OracleLabsAutomation Feb 8, 2025
8a67411
Adapt JDK-8346567: Make Class.getModifiers() non-native
mur47x111 Jan 9, 2025
5f2d820
Automatic merge of master into galahad
OracleLabsAutomation Feb 10, 2025
1e73225
Update galahad jdk.
mur47x111 Jan 9, 2025
dce65a1
[JDK-8347328] Adapt JDK-8346567: Make Class.getModifiers() non-native
mur47x111 Feb 10, 2025
cc31445
Automatic merge of master into galahad
OracleLabsAutomation Feb 10, 2025
6096456
Automatic merge of master into galahad
OracleLabsAutomation Feb 10, 2025
911911e
Automatic merge of master into galahad
OracleLabsAutomation Feb 11, 2025
e01afee
Automatic merge of master into galahad
OracleLabsAutomation Feb 11, 2025
aa1e56d
Automatic merge of master into galahad
OracleLabsAutomation Feb 11, 2025
81d1842
Automatic merge of master into galahad
OracleLabsAutomation Feb 11, 2025
282ff96
Automatic merge of master into galahad
OracleLabsAutomation Feb 11, 2025
6d7023d
Automatic merge of master into galahad
OracleLabsAutomation Feb 12, 2025
5ecfa0f
Adapt JDK-8349145: Make Class.getProtectionDomain() non-native
mur47x111 Feb 10, 2025
93df80a
Update galahad jdk.
mur47x111 Feb 10, 2025
8600983
[JDK-8349216] Adapt JDK-8349145: Make Class.getProtectionDomain() non…
mur47x111 Feb 12, 2025
8f90da2
Automatic merge of master into galahad
OracleLabsAutomation Feb 12, 2025
43f2ba6
Adapt JDK-8342103: C2 compiler support for Float16 type and associate…
mur47x111 Nov 20, 2024
5fb0f80
Update galahad jdk.
mur47x111 Nov 20, 2024
fd9df7b
[JDK-8344599] Adapt JDK-8342103: C2 compiler support for Float16 type…
mur47x111 Feb 12, 2025
99eb731
Automatic merge of master into galahad
OracleLabsAutomation Feb 12, 2025
96cd127
Automatic merge of master into galahad
OracleLabsAutomation Feb 13, 2025
07df72a
Automatic merge of master into galahad
OracleLabsAutomation Feb 13, 2025
1c67b64
update JVMCI to 25+10-jvmci-b01
OracleLabsAutomation Feb 14, 2025
510ae58
Merge tag 'jdk-25+10' into labsjdk/adopt-25+10-master
jovanstevanovic Feb 14, 2025
e8ca3fe
Update JVMCI version.
jovanstevanovic Feb 14, 2025
febe69d
deploy labsjdk snapshots
marwan-hallaoui Feb 14, 2025
fd02e3f
Update checksums.
jovanstevanovic Feb 14, 2025
4b9a860
Remove expected intrinsic Class.getModifiers from PrintIntrinsicsTest
mur47x111 Feb 17, 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
16 changes: 8 additions & 8 deletions common.json
Original file line number Diff line number Diff line change
Expand Up @@ -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-25+8-859", "platformspecific": true, "extrabundles": ["static-libs"]},
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+10-1066", "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 },
Expand Down 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+9", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+9-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+9-jvmci-b01-sulong", "platformspecific": true }
"oraclejdk-latest": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-25+10", "platformspecific": true, "extrabundles": ["static-libs"]},
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01", "platformspecific": true },
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-25+10-jvmci-b01-sulong", "platformspecific": true },
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01", "platformspecific": true },
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01-debug", "platformspecific": true },
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-25+10-jvmci-b01-sulong", "platformspecific": true }
},

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

// Random selection of intrinsics that should be stable.
assertLineInOutput(subprocess, "java.lang.Class.getModifiers()");
assertLineInOutput(subprocess, "java.lang.Byte.valueOf(byte)");
assertLineInOutput(subprocess, "java.lang.System.nanoTime()");
assertLineInOutput(subprocess, "java.lang.Thread.currentThread()");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ public final int logMinObjAlignment() {
public final int classMirrorOffset = getFieldOffset("Klass::_java_mirror", Integer.class, "OopHandle");

public final int klassSuperKlassOffset = getFieldOffset("Klass::_super", Integer.class, "Klass*");
public final int klassModifierFlagsOffset = getFieldOffset("Klass::_modifier_flags", Integer.class, JDK == 21 ? "jint" : "u2");
public final int klassModifierFlagsOffset = getFieldOffset("Klass::_modifier_flags", Integer.class, "jint", -1, JDK == 21);
public final int klassAccessFlagsOffset = getFieldOffset("Klass::_access_flags", Integer.class, "AccessFlags");
public final int klassMiscFlagsOffset = getFieldOffset("Klass::_misc_flags._flags", Integer.class, "u1", 0, JDK >= 24);
public final int klassLayoutHelperOffset = getFieldOffset("Klass::_layout_helper", Integer.class, "jint");
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+9", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+9", 1)));
"Oracle Corporation", createLabsJDKVersion("25+10", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("25+10", 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 @@ -373,19 +373,21 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec
private static void registerClassPlugins(Plugins plugins, GraalHotSpotVMConfig config, Replacements replacements) {
Registration r = new Registration(plugins.getInvocationPlugins(), Class.class, replacements);

r.register(new InvocationPlugin("getModifiers", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
// Primitive Class case
ValueNode nonNullKlass = helper.emitNullReturnGuard(klass, ConstantNode.forInt(Modifier.ABSTRACT | Modifier.FINAL | Modifier.PUBLIC), GraalDirectives.UNLIKELY_PROBABILITY);
// other return Klass::_modifier_flags
helper.emitFinalReturn(JavaKind.Int, helper.readKlassModifierFlags(nonNullKlass));
if (JavaVersionUtil.JAVA_SPEC == 21) {
r.register(new InvocationPlugin("getModifiers", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
try (HotSpotInvocationPluginHelper helper = new HotSpotInvocationPluginHelper(b, targetMethod, config)) {
ValueNode klass = helper.readKlassFromClass(receiver.get(true));
// Primitive Class case
ValueNode nonNullKlass = helper.emitNullReturnGuard(klass, ConstantNode.forInt(Modifier.ABSTRACT | Modifier.FINAL | Modifier.PUBLIC), GraalDirectives.UNLIKELY_PROBABILITY);
// other return Klass::_modifier_flags
helper.emitFinalReturn(JavaKind.Int, helper.readKlassModifierFlags(nonNullKlass));
}
return true;
}
return true;
}
});
});
}
r.register(new InvocationPlugin("isInterface", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
* - substratevm/src/com.oracle.svm.native.libchelper/include/amd64hotspotcpuinfo.h
* - substratevm/src/com.oracle.svm.native.libchelper/src/cpuid.c
*/
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+21/src/hotspot/cpu/x86/vm_version_x86.hpp#L41-L325")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/cpu/x86/vm_version_x86.hpp#L41-L328")
@CLibrary(value = "libchelper", requireStatic = true)
public class AMD64LibCHelper {
@Platforms(Platform.AMD64.class)
Expand Down Expand Up @@ -310,6 +310,10 @@ public interface CPUFeatures extends PointerBase {
@AllowNarrowingCast
@CField
boolean fSHA512();

@AllowNarrowingCast
@CField
boolean fAVX512_FP16();
}
// Checkstyle: resume
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,14 @@
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allocation.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/memory/allStatic.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/nmt/memTag.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+8/src/hotspot/share/runtime/os.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/share/runtime/os.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/runtime/os.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/runtime/os.inline.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/checkedCast.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/compilerWarnings_gcc.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/compilerWarnings.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/globalDefinitions_gcc.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/utilities/globalDefinitions.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/share/utilities/globalDefinitions.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/macros.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/utilities/ostream.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+6/src/hotspot/share/utilities/ostream.hpp")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -1705,6 +1705,7 @@ public ProtectionDomain getProtectionDomain() {
}

@Substitute
@TargetElement(onlyWith = JDK21OrEarlier.class)
private ProtectionDomain protectionDomain() {
return getProtectionDomain();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
import jdk.vm.ci.meta.ResolvedJavaMethod;

@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/share/prims/upcallLinker.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+10/src/hotspot/cpu/x86/upcallLinker_x86_64.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+7/src/hotspot/cpu/aarch64/upcallLinker_aarch64.cpp")
public abstract class UpcallStub extends NonBytecodeMethod {
protected final JavaEntryPointInfo jep;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,5 @@ typedef struct {
uint8_t fAVX_IFMA;
uint8_t fAPX_F;
uint8_t fSHA512;
uint8_t fAVX512_FP16;
} CPUFeatures;
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,9 @@ typedef union {
serialize : 1,
: 5,
cet_ibt : 1,
: 11;
: 2,
avx512_fp16 : 1,
: 8;
} bits;
} SefCpuid7Edx;

Expand Down
3 changes: 3 additions & 0 deletions substratevm/src/com.oracle.svm.native.libchelper/src/cpuid.c
Original file line number Diff line number Diff line change
Expand Up @@ -547,6 +547,9 @@ NO_INLINE static void set_cpufeatures(CPUFeatures *features, CpuidInfo *_cpuid_i
if (_cpuid_info->sef_cpuid7_edx.bits.serialize != 0) {
features->fSERIALIZE = 1;
}
if (_cpuid_info->sef_cpuid7_edx.bits.avx512_fp16 != 0) {
features->fAVX512_FP16 = 1;
}
}

// ZX features.
Expand Down
Loading