aboutsummaryrefslogtreecommitdiff
path: root/libjava/interpret.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/interpret.cc')
-rw-r--r--libjava/interpret.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/libjava/interpret.cc b/libjava/interpret.cc
index d6368d5..74e8788 100644
--- a/libjava/interpret.cc
+++ b/libjava/interpret.cc
@@ -35,7 +35,9 @@ details. */
#ifdef INTERPRETER
+#if HAVE_ALLOCA_H
#include <alloca.h>
+#endif
#define ClassError _CL_Q34java4lang5Error
extern java::lang::Class ClassError;
@@ -51,7 +53,7 @@ static void throw_null_pointer_exception ()
__attribute__ ((__noreturn__));
#endif
-extern "C" double __ieee754_fmod __P((double,double));
+extern "C" double __ieee754_fmod (double,double);
static inline void dupx (_Jv_word *sp, int n, int x)
{
@@ -678,7 +680,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
sp -= rmeth->stack_item_count;
- NULLCHECK(sp[0]);
+ NULLCHECK (sp[0].o);
if (rmeth->vtable_index == -1)
{
@@ -2147,7 +2149,7 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
sp -= rmeth->stack_item_count;
- NULLCHECK(sp[0]);
+ NULLCHECK (sp[0].o);
fun = (void (*)()) rmeth->method->ncode;
}
@@ -2178,10 +2180,11 @@ void _Jv_InterpMethod::continue1 (_Jv_InterpMethodInvocation *inv)
rmeth = (_Jv_ResolvePoolEntry (defining_class, index)).rmethod;
sp -= rmeth->stack_item_count;
- NULLCHECK(sp[0]);
jobject rcv = sp[0].o;
+ NULLCHECK (rcv);
+
fun = (void (*)())
_Jv_LookupInterfaceMethod (rcv->getClass (),
rmeth->method->name,