Skip to content

Commit 691be8f

Browse files
OracleLabsAutomationzapster
authored andcommitted
[GR-59976] Update labsjdk to 24+25-jvmci-b01
PullRequest: graal/19386
2 parents 7ea55ad + 52a2fcd commit 691be8f

File tree

15 files changed

+114
-42
lines changed

15 files changed

+114
-42
lines changed

common.json

Lines changed: 8 additions & 8 deletions
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": "24", "build_id": "jdk-24+24-2950", "platformspecific": true, "extrabundles": ["static-libs"]},
11+
"galahad-jdk": {"name": "jpg-jdk", "version": "24", "build_id": "jdk-24+25-3126", "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": "24", "build_id": "jdk-24+24", "platformspecific": true, "extrabundles": ["static-libs"]},
49-
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-24+24-jvmci-b01", "platformspecific": true },
50-
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-24+24-jvmci-b01-debug", "platformspecific": true },
51-
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-24+24-jvmci-b01-sulong", "platformspecific": true },
52-
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-24+24-jvmci-b01", "platformspecific": true },
53-
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-24+24-jvmci-b01-debug", "platformspecific": true },
54-
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-24+24-jvmci-b01-sulong", "platformspecific": true }
48+
"oraclejdk-latest": {"name": "jpg-jdk", "version": "24", "build_id": "jdk-24+25", "platformspecific": true, "extrabundles": ["static-libs"]},
49+
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-24+25-jvmci-b01", "platformspecific": true },
50+
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-24+25-jvmci-b01-debug", "platformspecific": true },
51+
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-24+25-jvmci-b01-sulong", "platformspecific": true },
52+
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-24+25-jvmci-b01", "platformspecific": true },
53+
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-24+25-jvmci-b01-debug", "platformspecific": true },
54+
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-24+25-jvmci-b01-sulong", "platformspecific": true }
5555
},
5656

5757
"eclipse": {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ public final class JVMCIVersionCheck {
5555
private static final Map<String, Map<String, Version>> JVMCI_MIN_VERSIONS = Map.of(
5656
"21", Map.of(DEFAULT_VENDOR_ENTRY, createLegacyVersion(23, 1, 33)),
5757
"24", Map.of(
58-
"Oracle Corporation", createLabsJDKVersion("24+24", 1),
59-
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("24+24", 1)));
58+
"Oracle Corporation", createLabsJDKVersion("24+25", 1),
59+
DEFAULT_VENDOR_ENTRY, createLabsJDKVersion("24+25", 1)));
6060
private static final int NA = 0;
6161
/**
6262
* Minimum Java release supported by Graal.

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupSubsystem_linux.hpp")
5555
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupUtil_linux.cpp")
5656
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupUtil_linux.hpp")
57-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp")
57+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/hotspot/os/linux/cgroupV1Subsystem_linux.cpp")
5858
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupV1Subsystem_linux.hpp")
5959
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/cgroupV2Subsystem_linux.cpp")
6060
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+19/src/hotspot/os/linux/cgroupV2Subsystem_linux.hpp")
@@ -64,15 +64,15 @@
6464
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/os_linux.hpp")
6565
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/linux/os_linux.inline.hpp")
6666
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+24/src/hotspot/os/posix/include/jvm_md.h")
67-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+24/src/hotspot/os/posix/os_posix.cpp")
67+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/hotspot/os/posix/os_posix.cpp")
6868
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+20/src/hotspot/os/posix/os_posix.hpp")
6969
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/os/posix/os_posix.inline.hpp")
70-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/memory/allocation.hpp")
70+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/hotspot/share/memory/allocation.hpp")
7171
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/memory/allocation.inline.hpp")
7272
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/memory/allStatic.hpp")
7373
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/nmt/memTag.hpp")
7474
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+24/src/hotspot/share/runtime/os.cpp")
75-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+24/src/hotspot/share/runtime/os.hpp")
75+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/hotspot/share/runtime/os.hpp")
7676
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/runtime/os.inline.hpp")
7777
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/utilities/checkedCast.hpp")
7878
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/utilities/compilerWarnings_gcc.hpp")
@@ -85,7 +85,7 @@
8585
// The following annotations are for files in `src/svm`, which are completely customized for SVM
8686
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/logging/log.hpp")
8787
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/memory/allocation.cpp")
88-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+24/src/hotspot/share/runtime/globals.hpp")
88+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/hotspot/share/runtime/globals.hpp")
8989
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+22/src/hotspot/share/utilities/debug.cpp")
9090
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+16/src/hotspot/share/utilities/debug.hpp")
9191
public class ContainerLibrary {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,12 +1336,14 @@ private RecordComponent[] getRecordComponents0() {
13361336
@KeepOriginal
13371337
private native Class<?>[] getPermittedSubclasses();
13381338

1339+
@TargetElement(onlyWith = JDK21OrEarlier.class)
13391340
@Substitute
13401341
@SuppressWarnings("unused")
13411342
private void checkMemberAccess(SecurityManager sm, int which, Class<?> caller, boolean checkProxyInterfaces) {
13421343
/* No runtime access checks. */
13431344
}
13441345

1346+
@TargetElement(onlyWith = JDK21OrEarlier.class)
13451347
@Substitute
13461348
@SuppressWarnings({"deprecation", "unused"})
13471349
private void checkPackageAccess(SecurityManager sm, ClassLoader ccl, boolean checkProxyInterfaces) {
@@ -1351,6 +1353,7 @@ private void checkPackageAccess(SecurityManager sm, ClassLoader ccl, boolean che
13511353
/**
13521354
* Never called as it is partially evaluated away due to SecurityManager.
13531355
*/
1356+
@TargetElement(onlyWith = JDK21OrEarlier.class)
13541357
@KeepOriginal
13551358
@SuppressWarnings({"deprecation", "unused"})
13561359
private static native void checkPackageAccessForPermittedSubclasses(@SuppressWarnings("removal") SecurityManager sm,
@@ -1473,6 +1476,7 @@ private static Class<?> forName(Module module, String className) throws Throwabl
14731476
@Substitute
14741477
@Platforms(InternalPlatform.NATIVE_ONLY.class)
14751478
@CallerSensitiveAdapter
1479+
@TargetElement(onlyWith = JDK21OrEarlier.class)
14761480
private static Class<?> forName(@SuppressWarnings("unused") Module module, String className, Class<?> caller) throws Throwable {
14771481
/*
14781482
* The module system is not supported for now, therefore the module parameter is ignored and
@@ -1493,6 +1497,7 @@ private static Class<?> forName(String name, boolean initialize, ClassLoader loa
14931497

14941498
@Substitute
14951499
@CallerSensitiveAdapter
1500+
@TargetElement(onlyWith = JDK21OrEarlier.class)
14961501
private static Class<?> forName(String name, boolean initialize, ClassLoader loader, @SuppressWarnings("unused") Class<?> caller) throws Throwable {
14971502
if (name == null) {
14981503
throw new NullPointerException();

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/SecuritySubstitutions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ private static void setJavaHome(String newJavaHome) {
308308
}
309309

310310
@TargetClass(className = "javax.crypto.JceSecurity")
311-
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-23+17/src/java.base/share/classes/javax/crypto/JceSecurity.java.template")
311+
@BasedOnJDKFile("https://github.com/openjdk/jdk/blob/jdk-24+25/src/java.base/share/classes/javax/crypto/JceSecurity.java.template")
312312
@SuppressWarnings({"unused"})
313313
final class Target_javax_crypto_JceSecurity {
314314

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/Target_java_lang_ClassLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {
150150

151151
@Substitute
152152
@SuppressWarnings("unused")
153+
@TargetElement(onlyWith = JDK21OrEarlier.class)
153154
static void checkClassLoaderPermission(ClassLoader cl, Class<?> caller) {
154155
}
155156

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/Target_java_net_URLClassLoader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2018, 2024, 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
@@ -35,6 +35,7 @@
3535
import com.oracle.svm.core.annotate.Alias;
3636
import com.oracle.svm.core.annotate.RecomputeFieldValue;
3737
import com.oracle.svm.core.annotate.TargetClass;
38+
import com.oracle.svm.core.annotate.TargetElement;
3839

3940
@TargetClass(className = "jdk.internal.loader.URLClassPath")
4041
@SuppressWarnings({"unused", "static-method"})
@@ -54,6 +55,7 @@ final class Target_jdk_internal_loader_URLClassPath {
5455

5556
/* Reset acc to null, since contexts in image heap are replaced */
5657
@Alias @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.Reset)//
58+
@TargetElement(onlyWith = JDK21OrEarlier.class)//
5759
private AccessControlContext acc;
5860
}
5961

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/Target_java_util_ServiceLoader.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.oracle.svm.core.annotate.Alias;
3434
import com.oracle.svm.core.annotate.RecomputeFieldValue;
3535
import com.oracle.svm.core.annotate.TargetClass;
36+
import com.oracle.svm.core.annotate.TargetElement;
3637

3738
/**
3839
* Disable the module based iteration in favour of classpath based iteration. See
@@ -42,6 +43,7 @@
4243
final class Target_java_util_ServiceLoader {
4344
@Alias Class<?> service;
4445

46+
@TargetElement(onlyWith = JDK21OrEarlier.class)//
4547
@Alias AccessControlContext acc;
4648

4749
@Alias
@@ -53,16 +55,3 @@ final class Target_java_util_ServiceLoader {
5355
@Alias @RecomputeFieldValue(declClass = ArrayList.class, kind = RecomputeFieldValue.Kind.NewInstance)//
5456
private List<?> instantiatedProviders;
5557
}
56-
57-
@TargetClass(value = java.util.ServiceLoader.class, innerClass = "ProviderImpl")
58-
final class Target_java_util_ServiceLoader_ProviderImpl {
59-
60-
@SuppressWarnings("unused")
61-
@Alias
62-
Target_java_util_ServiceLoader_ProviderImpl(Class<?> service,
63-
Class<?> type,
64-
Constructor<?> ctor,
65-
AccessControlContext acc) {
66-
}
67-
68-
}

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/jdk/proxy/ProxySubstitutions.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
import com.oracle.svm.core.annotate.TargetClass;
3535
import com.oracle.svm.core.annotate.TargetElement;
3636
import com.oracle.svm.core.hub.DynamicHub;
37+
import com.oracle.svm.core.jdk.JDK21OrEarlier;
38+
import com.oracle.svm.core.jdk.JDKLatest;
3739

3840
@TargetClass(java.lang.reflect.Proxy.class)
3941
final class Target_java_lang_reflect_Proxy {
@@ -44,7 +46,21 @@ final class Target_java_lang_reflect_Proxy {
4446

4547
@Substitute
4648
@SuppressWarnings("unused")
47-
private static Constructor<?> getProxyConstructor(Class<?> caller, ClassLoader loader, Class<?>... interfaces) {
49+
@TargetElement(name = "getProxyConstructor", onlyWith = JDK21OrEarlier.class)
50+
private static Constructor<?> getProxyConstructorJDK21(Class<?> caller, ClassLoader loader, Class<?>... interfaces) {
51+
final Class<?> cl = ImageSingletons.lookup(DynamicProxyRegistry.class).getProxyClass(loader, interfaces);
52+
try {
53+
final Constructor<?> cons = cl.getConstructor(InvocationHandler.class);
54+
cons.setAccessible(true);
55+
return cons;
56+
} catch (NoSuchMethodException e) {
57+
throw new InternalError(e.toString(), e);
58+
}
59+
}
60+
61+
@Substitute
62+
@TargetElement(onlyWith = JDKLatest.class)
63+
private static Constructor<?> getProxyConstructor(ClassLoader loader, Class<?>... interfaces) {
4864
final Class<?> cl = ImageSingletons.lookup(DynamicProxyRegistry.class).getProxyClass(loader, interfaces);
4965
try {
5066
final Constructor<?> cons = cl.getConstructor(InvocationHandler.class);

substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/methodhandles/Target_java_lang_invoke_MethodHandles_Lookup.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@
3535
import com.oracle.svm.core.annotate.RecomputeFieldValue;
3636
import com.oracle.svm.core.annotate.Substitute;
3737
import com.oracle.svm.core.annotate.TargetClass;
38+
import com.oracle.svm.core.annotate.TargetElement;
3839
import com.oracle.svm.core.hub.DynamicHub;
3940
import com.oracle.svm.core.invoke.Target_java_lang_invoke_MemberName;
41+
import com.oracle.svm.core.jdk.JDK21OrEarlier;
4042

4143
@TargetClass(value = MethodHandles.class, innerClass = "Lookup")
4244
final class Target_java_lang_invoke_MethodHandles_Lookup {
@@ -92,6 +94,7 @@ private IllegalAccessException makeAccessException(Class<?> targetClass) {
9294
/** This call is a noop without the security manager. */
9395
@SuppressWarnings("unused")
9496
@Substitute
97+
@TargetElement(onlyWith = JDK21OrEarlier.class)
9598
void checkSecurityManager(Class<?> refc) {
9699
}
97100
}

0 commit comments

Comments
 (0)