#include "native/include/sun_reflect_ConstantPool.h"
#endif
-#include "native/vm/java_lang_Class.h"
#include "native/vm/reflect.h"
#include "native/vm/sun/hpi.h"
methodinfo *m;
classinfo *c;
java_lang_StackTraceElement *steo;
- java_lang_String *declaringclass;
+ java_handle_t* declaringclass;
java_lang_String *filename;
int32_t linenumber;
/* get declaring class name */
- declaringclass = _Jv_java_lang_Class_getName(LLNI_classinfo_wrap(c));
+ declaringclass = class_get_classname(c);
/* fill the java.lang.StackTraceElement element */
/* FIXME critical section */
- steo->declaringClass = declaringclass;
- steo->methodName = (java_lang_String *) javastring_new(m->name);
+ steo->declaringClass = (java_lang_String*) declaringclass;
+ steo->methodName = (java_lang_String*) javastring_new(m->name);
steo->fileName = filename;
steo->lineNumber = linenumber;
jstring JVM_GetClassName(JNIEnv *env, jclass cls)
{
+ classinfo* c;
+
TRACEJVMCALLS(("JVM_GetClassName(env=%p, cls=%p)", env, cls));
- return (jstring) _Jv_java_lang_Class_getName((java_lang_Class *) cls);
+ c = LLNI_classinfo_unwrap(cls);
+
+ return (jstring) class_get_classname(c);
}
jobjectArray JVM_GetClassDeclaredFields(JNIEnv *env, jclass ofClass, jboolean publicOnly)
{
+ classinfo *c;
+ java_handle_objectarray_t *oa;
+
TRACEJVMCALLS(("JVM_GetClassDeclaredFields(env=%p, ofClass=%p, publicOnly=%d)", env, ofClass, publicOnly));
- return (jobjectArray) _Jv_java_lang_Class_getDeclaredFields((java_lang_Class *) ofClass, publicOnly);
+ c = LLNI_classinfo_unwrap(ofClass);
+
+ oa = class_get_declaredfields(c, publicOnly);
+
+ return (jobjectArray) oa;
}
jobjectArray JVM_GetClassDeclaredMethods(JNIEnv *env, jclass ofClass, jboolean publicOnly)
{
+ classinfo *c;
+ java_handle_objectarray_t *oa;
+
TRACEJVMCALLS(("JVM_GetClassDeclaredMethods(env=%p, ofClass=%p, publicOnly=%d)", env, ofClass, publicOnly));
- return (jobjectArray) _Jv_java_lang_Class_getDeclaredMethods((java_lang_Class *) ofClass, publicOnly);
+ c = LLNI_classinfo_unwrap(ofClass);
+
+ oa = class_get_declaredmethods(c, publicOnly);
+
+ return (jobjectArray) oa;
}
jobjectArray JVM_GetClassDeclaredConstructors(JNIEnv *env, jclass ofClass, jboolean publicOnly)
{
+ classinfo *c;
+ java_handle_objectarray_t *oa;
+
TRACEJVMCALLS(("JVM_GetClassDeclaredConstructors(env=%p, ofClass=%p, publicOnly=%d)", env, ofClass, publicOnly));
- return (jobjectArray) _Jv_java_lang_Class_getDeclaredConstructors((java_lang_Class *) ofClass, publicOnly);
+ c = LLNI_classinfo_unwrap(ofClass);
+
+ oa = class_get_declaredconstructors(c, publicOnly);
+
+ return (jobjectArray) oa;
}
int JVM_GetHostName(char *name, int namelen)
{
- TRACEJVMCALLS(("JVM_GetHostName(name=%s, namelen=%d)", name, namelen));
+ int result;
- return system_gethostname(name, namelen);
+ TRACEJVMCALLSENTER(("JVM_GetHostName(name=%s, namelen=%d)", name, namelen));
+
+ result = system_gethostname(name, namelen);
+
+ TRACEJVMCALLSEXIT(("->%d (name=%s)", result, name));
+
+ return result;
}
void *JVM_LoadLibrary(const char *name)
{
- utf *u;
+ utf* u;
+ void* handle;
- TRACEJVMCALLS(("JVM_LoadLibrary(name=%s)", name));
+ TRACEJVMCALLSENTER(("JVM_LoadLibrary(name=%s)", name));
u = utf_new_char(name);
- return native_library_open(u);
+ handle = native_library_open(u);
+
+ TRACEJVMCALLSEXIT(("->%p", handle));
+
+ return handle;
}
void *JVM_FindLibraryEntry(void *handle, const char *name)
{
- void* symbol;
+ lt_ptr symbol;
+
+ TRACEJVMCALLSENTER(("JVM_FindLibraryEntry(handle=%p, name=%s)", handle, name));
- TRACEJVMCALLS(("JVM_FindLibraryEntry(handle=%p, name=%s)", handle, name));
+ symbol = lt_dlsym(handle, name);
- symbol = hpi_library->FindLibraryEntry(handle, name);
+ TRACEJVMCALLSEXIT(("->%p", symbol));
return symbol;
}