PR137: Provide JVM_FindClassFromBootLoader
[cacao.git] / src / native / vm / openjdk / jvm.cpp
index 58229157aa7a3adb4d0f1522aaf04c96d93afccb..6a98636ffe4d95e35648c0b3fcce09347accf07b 100644 (file)
@@ -38,8 +38,6 @@
 #include <sys/ioctl.h>
 #endif
 
-#include <sys/socket.h>
-#include <sys/stat.h>
 #include <sys/types.h>
 
 // Include our JNI header before the JVM headers, because the JVM
@@ -655,6 +653,25 @@ void JVM_ResolveClass(JNIEnv* env, jclass cls)
 }
 
 
+/* JVM_FindClassFromBootLoader */
+
+jclass JVM_FindClassFromBootLoader(JNIEnv* env, const char* name)
+{
+       classinfo     *c;
+       utf           *u;
+
+       TRACEJVMCALLS(("JVM_FindClassFromBootLoader(name=%s)", name));
+
+       u  = utf_new_char(name);
+       c = load_class_from_classloader(u, NULL);
+
+       if (c == NULL)
+               return NULL;
+
+       return (jclass) LLNI_classinfo_wrap(c);
+}
+
+
 /* JVM_FindClassFromClassLoader */
 
 jclass JVM_FindClassFromClassLoader(JNIEnv* env, const char* name, jboolean init, jobject loader, jboolean throwError)
@@ -3592,7 +3609,7 @@ jobjectArray JVM_GetThreadStateNames(JNIEnv* env, jint javaThreadState, jintArra
 
 void JVM_GetVersionInfo(JNIEnv* env, jvm_version_info* info, size_t info_size)
 {
-       TRACEJVMCALLS(("JVM_GetVersionInfo(env=%p, info=%p, info_size=%d)", env, info, info_size));
+       TRACEJVMCALLS(("JVM_GetVersionInfo(env=%p, info=%p, info_size=%zd)", env, info, info_size));
 
        memset(info, 0, info_size);