summaryrefslogtreecommitdiff
path: root/libjava/resolve.cc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-02 01:55:03 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2000-02-02 01:55:03 +0000
commitdc4f3497079e0abc7e97a2734a18c16e71c3b299 (patch)
tree8cea920cda9b81eaa6f6464de2909e0016f6ec15 /libjava/resolve.cc
parentc0eb51daa0df0651103f474c15acec4f02c93a6a (diff)
downloadgcc-dc4f3497079e0abc7e97a2734a18c16e71c3b299.tar.gz
* include/java-interp.h (_Jv_JNI_conversion_call): Declare.
* resolve.cc (ncode): Use _Jv_JNI_conversion_call when constructing the closure if the function is native. * jni.cc (_Jv_JNI_conversion_call): Now returns `void'. No longer a template function, #if'd out, or static. Include <java-interp.h>. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31746 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/resolve.cc')
-rw-r--r--libjava/resolve.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libjava/resolve.cc b/libjava/resolve.cc
index 92d66c2728a..0bf6f8c580e 100644
--- a/libjava/resolve.cc
+++ b/libjava/resolve.cc
@@ -1022,7 +1022,13 @@ _Jv_InterpMethod::ncode ()
args_raw_size = ffi_raw_size (&closure->cif);
- if ((self->accflags & Modifier::SYNCHRONIZED) != 0)
+ if ((self->accflags & Modifier::NATIVE) != 0)
+ {
+ // FIXME: for now we assume that all native methods for
+ // interpreted code use JNI.
+ fun = (ffi_closure_fun) &_Jv_JNI_conversion_call;
+ }
+ else if ((self->accflags & Modifier::SYNCHRONIZED) != 0)
{
if (staticp)
fun = (ffi_closure_fun)&_Jv_InterpMethod::run_synch_class;