From 784af438efd3f2cd8a4c0518b4aa06d496bd7846 Mon Sep 17 00:00:00 2001 From: Matias Saavedra Silva Date: Wed, 15 Oct 2025 14:09:22 +0000 Subject: [PATCH] 8351595: JVM_FindClassFromCaller: unused var may be removed Reviewed-by: dholmes, alanb, liach, fandreuzzi --- src/hotspot/share/include/jvm.h | 6 ++---- src/hotspot/share/prims/jvm.cpp | 8 +++----- src/java.base/share/classes/java/lang/Class.java | 7 +++---- src/java.base/share/native/libjava/Class.c | 4 ++-- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/hotspot/share/include/jvm.h b/src/hotspot/share/include/jvm.h index 2f0958bcac4..ce76a95fda7 100644 --- a/src/hotspot/share/include/jvm.h +++ b/src/hotspot/share/include/jvm.h @@ -433,12 +433,10 @@ JVM_FindClassFromBootLoader(JNIEnv *env, const char *name); * init: whether initialization is done * loader: class loader to look up the class. This may not be the same as the caller's * class loader. - * caller: initiating class. The initiating class may be null when a security - * manager is not installed. */ JNIEXPORT jclass JNICALL -JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init, - jobject loader, jclass caller); +JVM_FindClassFromLoader(JNIEnv *env, const char *name, jboolean init, + jobject loader); /* * Find a class from a given class. diff --git a/src/hotspot/share/prims/jvm.cpp b/src/hotspot/share/prims/jvm.cpp index ade9b45e2eb..6b464ae8e3e 100644 --- a/src/hotspot/share/prims/jvm.cpp +++ b/src/hotspot/share/prims/jvm.cpp @@ -799,16 +799,14 @@ JVM_ENTRY(jclass, JVM_FindClassFromBootLoader(JNIEnv* env, return (jclass) JNIHandles::make_local(THREAD, k->java_mirror()); JVM_END -// Find a class with this name in this loader, using the caller's protection domain. -JVM_ENTRY(jclass, JVM_FindClassFromCaller(JNIEnv* env, const char* name, - jboolean init, jobject loader, - jclass caller)) +// Find a class with this name in this loader. +JVM_ENTRY(jclass, JVM_FindClassFromLoader(JNIEnv* env, const char* name, + jboolean init, jobject loader)) TempNewSymbol h_name = SystemDictionary::class_name_symbol(name, vmSymbols::java_lang_ClassNotFoundException(), CHECK_NULL); oop loader_oop = JNIHandles::resolve(loader); - oop from_class = JNIHandles::resolve(caller); Handle h_loader(THREAD, loader_oop); jclass result = find_class_from_class_loader(env, h_name, init, h_loader, diff --git a/src/java.base/share/classes/java/lang/Class.java b/src/java.base/share/classes/java/lang/Class.java index fd3fe3ac2c0..cfd2fc82235 100644 --- a/src/java.base/share/classes/java/lang/Class.java +++ b/src/java.base/share/classes/java/lang/Class.java @@ -470,7 +470,7 @@ public final class Class implements java.io.Serializable, validateClassNameLength(className); ClassLoader loader = (caller == null) ? ClassLoader.getSystemClassLoader() : ClassLoader.getClassLoader(caller); - return forName0(className, true, loader, caller); + return forName0(className, true, loader); } /** @@ -551,13 +551,12 @@ public final class Class implements java.io.Serializable, throws ClassNotFoundException { validateClassNameLength(name); - return forName0(name, initialize, loader, null); + return forName0(name, initialize, loader); } /** Called after security check for system loader access checks have been made. */ private static native Class forName0(String name, boolean initialize, - ClassLoader loader, - Class caller) + ClassLoader loader) throws ClassNotFoundException; diff --git a/src/java.base/share/native/libjava/Class.c b/src/java.base/share/native/libjava/Class.c index 9fb348d9217..95e8e2c169b 100644 --- a/src/java.base/share/native/libjava/Class.c +++ b/src/java.base/share/native/libjava/Class.c @@ -95,7 +95,7 @@ Java_java_lang_Class_registerNatives(JNIEnv *env, jclass cls) JNIEXPORT jclass JNICALL Java_java_lang_Class_forName0(JNIEnv *env, jclass this, jstring classname, - jboolean initialize, jobject loader, jclass caller) + jboolean initialize, jobject loader) { char *clname; jclass cls = 0; @@ -133,7 +133,7 @@ Java_java_lang_Class_forName0(JNIEnv *env, jclass this, jstring classname, goto done; } - cls = JVM_FindClassFromCaller(env, clname, initialize, loader, caller); + cls = JVM_FindClassFromLoader(env, clname, initialize, loader); done: if (clname != buf) {