Skip to content

[GR-66545] Update labsjdk to 26+4-jvmci-b01. #11492

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

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1598e27
Automatic merge of master into galahad
OracleLabsAutomation Jun 19, 2025
22632ef
Merge master
mur47x111 Jun 19, 2025
772ceb0
[GR-66294] Fix master-to-galahad merge conflict 19.06.2025
mur47x111 Jun 19, 2025
526b300
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
ff9d580
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
8267f18
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
0f7f02e
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
5e7d7f0
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
16afd41
Automatic merge of master into galahad
OracleLabsAutomation Jun 20, 2025
c14d691
Automatic merge of master into galahad
OracleLabsAutomation Jun 21, 2025
523ee0b
Automatic merge of master into galahad
OracleLabsAutomation Jun 23, 2025
5e66560
Automatic merge of master into galahad
OracleLabsAutomation Jun 23, 2025
29c542b
Automatic merge of master into galahad
OracleLabsAutomation Jun 24, 2025
cdc2b3c
Automatic merge of master into galahad
OracleLabsAutomation Jun 24, 2025
def8f0d
Automatic merge of master into galahad
OracleLabsAutomation Jun 24, 2025
a74eef5
Automatic merge of master into galahad
OracleLabsAutomation Jun 25, 2025
a5c4a0f
Automatic merge of master into galahad
OracleLabsAutomation Jun 25, 2025
36ba9ce
Automatic merge of master into galahad
OracleLabsAutomation Jun 25, 2025
ab97c66
Automatic merge of master into galahad
OracleLabsAutomation Jun 25, 2025
546ef15
Adapt JDK-8352565: Add native method implementation of Reference.get()
mur47x111 Jun 25, 2025
1caad0f
Update galahad JDK
mur47x111 Jun 25, 2025
7bcab39
[JDK-8360560] Adapt JDK-8352565: Add native method implementation of …
mur47x111 Jun 25, 2025
0639507
Automatic merge of master into galahad
OracleLabsAutomation Jun 25, 2025
a1e562b
Automatic merge of master into galahad
OracleLabsAutomation Jun 26, 2025
0ac2a94
Automatic merge of master into galahad
OracleLabsAutomation Jun 26, 2025
602ea10
update JVMCI to 26+4-jvmci-b01
OracleLabsAutomation Jun 26, 2025
e6a8d1b
Merge tag 'jdk-26+4' into labsjdk/adopt-26+4-master
jovanstevanovic Jun 27, 2025
4ff6fcc
Update JVMCI version.
jovanstevanovic Jun 27, 2025
b399a6d
Update BasedOnJDKAnnotation.
jovanstevanovic Jun 27, 2025
ef6ee3c
Adopt JDK-8359732: Make standard i/o encoding related system properti…
jovanstevanovic Jun 27, 2025
990c61e
Follow up for JDK-8359732 adoption.
jovanstevanovic Jun 27, 2025
0e1bc06
deploy labsjdk snapshots
marwan-hallaoui Jun 29, 2025
5ea09ac
Implement Reference.get0 intrinsic (JDK-8352565)
mur47x111 Jun 30, 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-26+2-83", "platformspecific": true, "extrabundles": ["static-libs"]},
"galahad-jdk": {"name": "jpg-jdk", "version": "25", "build_id": "jdk-26+4-323", "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 @@

"oraclejdk24": {"name": "jpg-jdk", "version": "24", "build_id": "jdk-24.0.1+9", "platformspecific": true, "extrabundles": ["static-libs"]},

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

"eclipse": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ public final class JVMCIVersionCheck {
*/
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
"26", Map.of(
"Oracle Corporation", createLabsJDKVersion("26+3", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+3", 1)));
"Oracle Corporation", createLabsJDKVersion("26+4", 1),
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+4", 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 @@ -1607,13 +1607,26 @@ protected boolean useExplicitReachabilityFence(GraphBuilderContext b) {
return Options.ForceExplicitReachabilityFence.getValue(b.getOptions());
}
});
r.register(new InlineOnlyInvocationPlugin("get0", Receiver.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver) {
ValueNode offset = b.add(ConstantNode.forLong(HotSpotReplacementsUtil.referentOffset(b.getMetaAccess())));
AddressNode address = b.add(new OffsetAddressNode(receiver.get(true), offset));
FieldLocationIdentity locationIdentity = new FieldLocationIdentity(HotSpotReplacementsUtil.referentField(b.getMetaAccess()));
JavaReadNode read = b.add(new JavaReadNode(StampFactory.object(), JavaKind.Object, address, locationIdentity, BarrierType.REFERENCE_GET, MemoryOrderMode.PLAIN, true));
b.add(new MembarNode(MembarNode.FenceKind.NONE, locationIdentity));
b.addPush(JavaKind.Object, read);
return true;
}
});
r.register(new InlineOnlyInvocationPlugin("refersTo0", Receiver.class, Object.class) {
@Override
public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode o) {
ValueNode offset = b.add(ConstantNode.forLong(HotSpotReplacementsUtil.referentOffset(b.getMetaAccess())));
AddressNode address = b.add(new OffsetAddressNode(receiver.get(true), offset));
FieldLocationIdentity locationIdentity = new FieldLocationIdentity(HotSpotReplacementsUtil.referentField(b.getMetaAccess()));
JavaReadNode read = b.add(new JavaReadNode(StampFactory.object(), JavaKind.Object, address, locationIdentity, BarrierType.WEAK_REFERS_TO, MemoryOrderMode.PLAIN, true));
b.add(new MembarNode(MembarNode.FenceKind.NONE, locationIdentity));
LogicNode objectEquals = b.add(ObjectEqualsNode.create(b.getConstantReflection(), b.getMetaAccess(), b.getOptions(), read, o, NodeView.DEFAULT));
b.addPush(JavaKind.Boolean, ConditionalNode.create(objectEquals, b.add(forBoolean(true)), b.add(forBoolean(false)), NodeView.DEFAULT));
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,6 @@ public UnimplementedGraalIntrinsics(Architecture arch) {
// handled by an intrinsic for StringUTF16.indexOfLatin1Unsafe
"java/lang/StringUTF16.indexOfLatin1([BI[BII)I",
"java/lang/StringUTF16.indexOfLatin1([B[B)I",
// implemented through lowering
"java/lang/ref/Reference.get()Ljava/lang/Object;",
// Relevant for Java flight recorder
// [GR-10106] These JFR intrinsics are used for firing socket/file events
// via Java instrumentation and are of low priority.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,17 @@
// 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+23/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-26+4/src/hotspot/os/linux/cgroupSubsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/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")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-25+18/src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp")
@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-26+2/src/hotspot/os/linux/os_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/osContainer_linux.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/os/linux/osContainer_linux.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/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 @@ -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+26/src/hotspot/share/memory/allocation.cpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+3/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/runtime/globals.hpp")
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+3/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 @@ -123,6 +123,12 @@ public final class Target_java_lang_ref_Reference<T> {
@KeepOriginal
native T get();

@Substitute
@SuppressWarnings("unchecked")
private T get0() {
return (T) ReferenceInternals.getReferent(SubstrateUtil.cast(this, Reference.class));
}

@KeepOriginal
native void clear();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,18 @@ final class Target_jdk_internal_util_StaticProperty {
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
private static String JAVA_PROPERTIES_DATE;

@Alias//
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
private static String STDIN_ENCODING;

@Alias//
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
private static String STDERR_ENCODING;

@Alias//
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
private static String STDOUT_ENCODING;

@Alias//
@RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
private static String SUN_JNU_ENCODING;
Expand Down Expand Up @@ -193,6 +205,10 @@ final class Target_jdk_internal_util_StaticProperty {
NATIVE_ENCODING = p.getInitialProperty("native.encoding");
FILE_ENCODING = p.getInitialProperty("file.encoding");
JAVA_PROPERTIES_DATE = p.getInitialProperty("java.properties.date");
STDIN_ENCODING = p.getInitialProperty("stdin.encoding");
STDERR_ENCODING = p.getInitialProperty("stderr.encoding");
STDOUT_ENCODING = p.getInitialProperty("stdout.encoding");

SUN_JNU_ENCODING = p.getInitialProperty("sun.jnu.encoding");
JAVA_LOCALE_USE_OLD_ISO_CODES = p.getInitialProperty("java.locale.useOldISOCodes", "");

Expand Down Expand Up @@ -297,6 +313,24 @@ public static String javaPropertiesDate() {
return JAVA_PROPERTIES_DATE;
}

@Substitute
public static String stdinEncoding() {
assert Objects.equals(STDIN_ENCODING, SystemPropertiesSupport.singleton().getInitialProperty("stdin.encoding"));
return STDIN_ENCODING;
}

@Substitute
public static String stdoutEncoding() {
assert Objects.equals(STDOUT_ENCODING, SystemPropertiesSupport.singleton().getInitialProperty("stdout.encoding"));
return STDOUT_ENCODING;
}

@Substitute
public static String stderrEncoding() {
assert Objects.equals(STDERR_ENCODING, SystemPropertiesSupport.singleton().getInitialProperty("stderr.encoding"));
return STDERR_ENCODING;
}

@Substitute
public static String jnuEncoding() {
assert Objects.equals(SUN_JNU_ENCODING, SystemPropertiesSupport.singleton().getInitialProperty("sun.jnu.encoding"));
Expand Down