From bc3aa2c54b5b991f5709bd1bb42c7049d09b1c03 Mon Sep 17 00:00:00 2001 From: ol-automation_ww Date: Fri, 22 Aug 2025 00:03:10 +0000 Subject: [PATCH 1/5] update JVMCI to 26+12-jvmci-b01 --- common.json | 14 +++++++------- .../graal/compiler/hotspot/JVMCIVersionCheck.java | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common.json b/common.json index a49d10479eee..656603330b33 100644 --- a/common.json +++ b/common.json @@ -54,13 +54,13 @@ "labsjdk-ee-25-llvm": {"name": "labsjdk", "version": "ee-25+30-jvmci-b01-sulong", "platformspecific": true }, "graalvm-ee-25-ea": {"name": "graalvm-jdk", "version": "25.0.0", "ea": "33", "platformspecific": true }, - "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+11", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+11-jvmci-b01", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+11-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+11-jvmci-b01-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+11-jvmci-b01", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+11-jvmci-b01-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+11-jvmci-b01-sulong", "platformspecific": true } + "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+12", "platformspecific": true, "extrabundles": ["static-libs"]}, + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e-sulong", "platformspecific": true } }, "eclipse": { 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 d82f1ab33e94..23b6ec572f0c 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+11", 1), - DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+11", 1))); + "Oracle Corporation", createLabsJDKVersion("26+12", 1), + DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("26+12", 1))); // Checkstyle: resume stable iteration order check private static final int NA = 0; From 3df9e1609a24fd9ff63ee0dc40c54362a45b4c21 Mon Sep 17 00:00:00 2001 From: Yudi Zheng Date: Thu, 17 Jul 2025 15:55:05 +0200 Subject: [PATCH 2/5] [Graal] Adapt JDK-8361842: Move input validation checks to Java for java.lang.StringCoding intrinsics --- .../replacements/StandardGraphBuilderPlugins.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java index 1c2283b029da..3e798d3496ee 100644 --- a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java +++ b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java @@ -2621,7 +2621,7 @@ public boolean isApplicable(Architecture arch) { private static void registerStringCodingPlugins(InvocationPlugins plugins) { Registration r = new Registration(plugins, "java.lang.StringCoding"); - r.register(new InvocationPlugin("implEncodeISOArray", byte[].class, int.class, byte[].class, int.class, int.class) { + r.register(new InvocationPlugin("encodeISOArray0", byte[].class, int.class, byte[].class, int.class, int.class) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode sa, ValueNode sp, ValueNode da, ValueNode dp, ValueNode len) { @@ -2634,7 +2634,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec } } }); - r.register(new InvocationPlugin("implEncodeAsciiArray", char[].class, int.class, byte[].class, int.class, int.class) { + r.register(new InvocationPlugin("encodeAsciiArray0", char[].class, int.class, byte[].class, int.class, int.class) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode sa, ValueNode sp, ValueNode da, ValueNode dp, ValueNode len) { @@ -2646,17 +2646,10 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec } } }); - r.register(new InvocationPlugin("countPositives", byte[].class, int.class, int.class) { + r.register(new InvocationPlugin("countPositives0", byte[].class, int.class, int.class) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode ba, ValueNode off, ValueNode len) { try (InvocationPluginHelper helper = new InvocationPluginHelper(b, targetMethod)) { - helper.intrinsicRangeCheck(off, Condition.LT, ConstantNode.forInt(0)); - helper.intrinsicRangeCheck(len, Condition.LT, ConstantNode.forInt(0)); - - ValueNode arrayLength = b.add(new ArrayLengthNode(ba)); - ValueNode limit = b.add(AddNode.create(off, len, NodeView.DEFAULT)); - helper.intrinsicRangeCheck(arrayLength, Condition.LT, limit); - ValueNode array = helper.arrayElementPointer(ba, JavaKind.Byte, off); b.addPush(JavaKind.Int, new CountPositivesNode(array, len)); return true; @@ -2665,7 +2658,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec }); r = new Registration(plugins, "sun.nio.cs.ISO_8859_1$Encoder"); - r.register(new InvocationPlugin("implEncodeISOArray", char[].class, int.class, byte[].class, int.class, int.class) { + r.register(new InvocationPlugin("encodeISOArray", char[].class, int.class, byte[].class, int.class, int.class) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode sa, ValueNode sp, ValueNode da, ValueNode dp, ValueNode len) { From f084a1bc890b0a822fc6ce05e107c7cb1cbc16a4 Mon Sep 17 00:00:00 2001 From: Josef Eisl Date: Fri, 22 Aug 2025 09:34:48 +0200 Subject: [PATCH 3/5] svm: review libcontainer changes for 26+12 --- .../src/com/oracle/svm/core/container/ContainerLibrary.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/container/ContainerLibrary.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/container/ContainerLibrary.java index 0c7d04d1d94e..81640730cea8 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/container/ContainerLibrary.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/container/ContainerLibrary.java @@ -71,7 +71,7 @@ @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/memory/allocation.inline.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/memory/allStatic.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+5/src/hotspot/share/nmt/memTag.hpp") -@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+6/src/hotspot/share/runtime/os.cpp") +@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+12/src/hotspot/share/runtime/os.cpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+10/src/hotspot/share/runtime/os.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/runtime/os.inline.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/utilities/checkedCast.hpp") @@ -86,7 +86,7 @@ // The following annotations are for files in `src/svm`, which are completely customized for SVM @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/logging/log.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/memory/allocation.cpp") -@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+10/src/hotspot/share/runtime/globals.hpp") +@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+12/src/hotspot/share/runtime/globals.hpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+9/src/hotspot/share/utilities/debug.cpp") @BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-26+4/src/hotspot/share/utilities/debug.hpp") public class ContainerLibrary { From 4a9b16ea467c3fa4afaf751c8173012397ee70a5 Mon Sep 17 00:00:00 2001 From: Yudi Zheng Date: Fri, 22 Aug 2025 12:15:23 +0200 Subject: [PATCH 4/5] Update EncodeArrayTest (JDK-8361842) --- .../graal/compiler/replacements/test/EncodeArrayTest.java | 6 +++--- .../compiler/replacements/StandardGraphBuilderPlugins.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/EncodeArrayTest.java b/compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/EncodeArrayTest.java index 2369450f5be4..adb88f18167a 100644 --- a/compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/EncodeArrayTest.java +++ b/compiler/src/jdk.graal.compiler.test/src/jdk/graal/compiler/replacements/test/EncodeArrayTest.java @@ -67,7 +67,7 @@ private static Result executeCompiledMethod(InstalledCode compiledMethod, Object @Test public void testStringCodingISO() throws ClassNotFoundException { Class klass = Class.forName("java.lang.StringCoding"); - ResolvedJavaMethod method = getResolvedJavaMethod(klass, "implEncodeISOArray"); + ResolvedJavaMethod method = getResolvedJavaMethod(klass, "encodeISOArray0"); StructuredGraph graph = getIntrinsicGraph(method, CompilationIdentifier.INVALID_COMPILATION_ID, getDebugContext(), StructuredGraph.AllowAssumptions.YES, null); InstalledCode compiledMethod = getCode(method, graph); @@ -100,7 +100,7 @@ public void testStringCodingISO() throws ClassNotFoundException { @Test public void testStringCodingAscii() throws ClassNotFoundException { Class klass = Class.forName("java.lang.StringCoding"); - ResolvedJavaMethod method = getResolvedJavaMethod(klass, "implEncodeAsciiArray"); + ResolvedJavaMethod method = getResolvedJavaMethod(klass, "encodeAsciiArray0"); StructuredGraph graph = getIntrinsicGraph(method, CompilationIdentifier.INVALID_COMPILATION_ID, getDebugContext(), StructuredGraph.AllowAssumptions.YES, null); InstalledCode compiledMethod = getCode(method, graph); @@ -133,7 +133,7 @@ public void testStringCodingAscii() throws ClassNotFoundException { @Test public void testISOEncoding() throws ClassNotFoundException { Class klass = Class.forName("sun.nio.cs.ISO_8859_1$Encoder"); - ResolvedJavaMethod method = getResolvedJavaMethod(klass, "implEncodeISOArray"); + ResolvedJavaMethod method = getResolvedJavaMethod(klass, "encodeISOArray0"); StructuredGraph graph = getIntrinsicGraph(method, CompilationIdentifier.INVALID_COMPILATION_ID, getDebugContext(), StructuredGraph.AllowAssumptions.YES, null); InstalledCode compiledMethod = getCode(method, graph); diff --git a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java index 3e798d3496ee..0f6ec3a0a381 100644 --- a/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java +++ b/compiler/src/jdk.graal.compiler/src/jdk/graal/compiler/replacements/StandardGraphBuilderPlugins.java @@ -2658,7 +2658,7 @@ public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Rec }); r = new Registration(plugins, "sun.nio.cs.ISO_8859_1$Encoder"); - r.register(new InvocationPlugin("encodeISOArray", char[].class, int.class, byte[].class, int.class, int.class) { + r.register(new InvocationPlugin("encodeISOArray0", char[].class, int.class, byte[].class, int.class, int.class) { @Override public boolean apply(GraphBuilderContext b, ResolvedJavaMethod targetMethod, Receiver receiver, ValueNode sa, ValueNode sp, ValueNode da, ValueNode dp, ValueNode len) { From 82fcbc255a12a82bf077985699cac139c41c9468 Mon Sep 17 00:00:00 2001 From: Marouane El Hallaoui Date: Fri, 22 Aug 2025 11:34:54 +0100 Subject: [PATCH 5/5] deploy labsjdk snapshots --- common.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/common.json b/common.json index 656603330b33..39bd26d1f7c1 100644 --- a/common.json +++ b/common.json @@ -55,12 +55,12 @@ "graalvm-ee-25-ea": {"name": "graalvm-jdk", "version": "25.0.0", "ea": "33", "platformspecific": true }, "oraclejdk-latest": {"name": "jpg-jdk", "version": "26", "build_id": "jdk-26+12", "platformspecific": true, "extrabundles": ["static-libs"]}, - "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224", "platformspecific": true }, - "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224-debug", "platformspecific": true }, - "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-20250821232657-3a9f951224-sulong", "platformspecific": true }, - "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e", "platformspecific": true }, - "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e-debug", "platformspecific": true }, - "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-20250821232657-3a9f951224+21a4d9754e-sulong", "platformspecific": true } + "labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01", "platformspecific": true }, + "labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-26+12-jvmci-b01-sulong", "platformspecific": true }, + "labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01", "platformspecific": true }, + "labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-debug", "platformspecific": true }, + "labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-26+12-jvmci-b01-sulong", "platformspecific": true } }, "eclipse": {