diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c3d0586df191..d3078fa8fc83 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2000-02-07 Tom Tromey + + * jni.cc (add_char): Conditional on INTERPRETER. + (mangled_name): Likewise. + (call): Likewise. + * include/java-interp.h (class _Jv_MethodBase): Conditional on + INTERPRETER. + (class _Jv_JNIMethod): Likewise. + 2000-02-04 Warren Levy * Makefile.am: Added MPN.java and BigInteger.java. diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h index 7022411bb51e..8111d40f2a7c 100644 --- a/libjava/include/java-interp.h +++ b/libjava/include/java-interp.h @@ -14,18 +14,6 @@ details. */ #include #include -// Base class for method representations. Subclasses are interpreted -// and JNI methods. -class _Jv_MethodBase -{ -protected: - // The class which defined this method. - _Jv_InterpClass *defining_class; - - // The method description. - _Jv_Method *self; -}; - #ifdef INTERPRETER #pragma interface @@ -78,6 +66,18 @@ class _Jv_InterpException { friend class _Jv_InterpMethod; }; +// Base class for method representations. Subclasses are interpreted +// and JNI methods. +class _Jv_MethodBase +{ +protected: + // The class which defined this method. + _Jv_InterpClass *defining_class; + + // The method description. + _Jv_Method *self; +}; + class _Jv_InterpMethod : public _Jv_MethodBase { _Jv_ushort max_stack; @@ -169,8 +169,6 @@ struct _Jv_ResolvedMethod { ffi_type * arg_types[0]; }; -#endif /* INTERPRETER */ - class _Jv_JNIMethod : public _Jv_MethodBase { // The underlying function. If NULL we have to look for the @@ -186,4 +184,6 @@ class _Jv_JNIMethod : public _Jv_MethodBase friend void _Jv_PrepareClass(jclass); }; +#endif /* INTERPRETER */ + #endif /* __JAVA_INTERP_H__ */ diff --git a/libjava/jni.cc b/libjava/jni.cc index da964e14cf35..82105a4d66f7 100644 --- a/libjava/jni.cc +++ b/libjava/jni.cc @@ -8,12 +8,6 @@ This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ -// Note: currently we take the approach of not checking most -// arguments. Instead we could do more checking conditionally (e.g., -// if DEBUG is defined). That might be beneficial in some cases, -// though to me it seems that one could just as easily use the -// debugger. - #include #include @@ -1205,6 +1199,8 @@ _Jv_JNI_FromReflectedMethod (JNIEnv *, jobject method) +#ifdef INTERPRETER + // Add a character to the buffer, encoding properly. static void add_char (char *buf, jchar c, int *here) @@ -1347,6 +1343,7 @@ _Jv_JNIMethod::call (ffi_cif *cif, void *ret, ffi_raw *args, void *__this) } // The actual call to the JNI function. + // FIXME: if this is a static function we must include the class! ffi_raw_call (cif, (void (*) (...)) _this->function, ret, args); do @@ -1359,6 +1356,8 @@ _Jv_JNIMethod::call (ffi_cif *cif, void *ret, ffi_raw *args, void *__this) JvThrow (env.ex); } +#endif /* INTERPRETER */ + #define NOT_IMPL NULL