8351595: JVM_FindClassFromCaller: unused var may be removed

Reviewed-by: dholmes, alanb, liach, fandreuzzi
This commit is contained in:
Matias Saavedra Silva 2025-10-15 14:09:22 +00:00
parent 5191d72092
commit 784af438ef
4 changed files with 10 additions and 15 deletions

View File

@ -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.

View File

@ -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,

View File

@ -470,7 +470,7 @@ public final class Class<T> 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<T> 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;

View File

@ -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) {