diff options
author | Tom Tromey <tromey@cygnus.com> | 2000-02-18 21:22:06 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-02-18 21:22:06 +0000 |
commit | 8ade47715eddea64a001e982da714b791e5e6e44 (patch) | |
tree | 6637b7627b283f1bc28869d88ab6c8eecc6e22fc /libjava/java/lang/natRuntime.cc | |
parent | 31e890f0f32d3132d0519f640203060a9fc0f0a6 (diff) | |
download | gcc-8ade47715eddea64a001e982da714b791e5e6e44.zip gcc-8ade47715eddea64a001e982da714b791e5e6e44.tar.gz gcc-8ade47715eddea64a001e982da714b791e5e6e44.tar.bz2 |
jvm.h (_Jv_GetJavaVM): Declare.
* include/jvm.h (_Jv_GetJavaVM): Declare.
* include/java-interp.h (_Jv_GetFirstMethod): New function.
(_Jv_MethodBase::get_method): New method.
(_Jv_JNIMethod::set_function): New method.
* jni.cc (_Jv_JNI_UnregisterNatives): New function.
(_Jv_JNI_RegisterNatives): New function.
(_Jv_JNIFunctions): Updated for new functions.
(_Jv_GetJavaVM): New function.
(_Jv_JNI_GetJavaVM): Use it. Now static.
(_Jv_JNI_AttachCurrentThread): Create a new JNIEnv if this thread
is already a Java thread but does not have a JNIEnv yet.
* java/lang/natRuntime.cc (_load): Pass the JavaVM to the onload
function.
From-SVN: r32056
Diffstat (limited to 'libjava/java/lang/natRuntime.cc')
-rw-r--r-- | libjava/java/lang/natRuntime.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc index b9b9c57..eb1d477 100644 --- a/libjava/java/lang/natRuntime.cc +++ b/libjava/java/lang/natRuntime.cc @@ -135,8 +135,13 @@ java::lang::Runtime::_load (jstring path, jboolean do_search) void *onload = lt_dlsym (h, "JNI_OnLoad"); if (onload != NULL) { - // FIXME: need invocation API to get JavaVM. - jint vers = ((jint (*) (...)) onload) (NULL, NULL); + JavaVM *vm = _Jv_GetJavaVM (); + if (vm == NULL) + { + // FIXME: what? + return; + } + jint vers = ((jint (*) (JavaVM *, void *)) onload) (vm, NULL); if (vers != JNI_VERSION_1_1 && vers != JNI_VERSION_1_2) { // FIXME: unload the library. |