summaryrefslogtreecommitdiff
path: root/libjava/java/lang
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/Class.h4
-rw-r--r--libjava/java/lang/natClass.cc4
-rw-r--r--libjava/java/lang/natThread.cc7
-rw-r--r--libjava/java/lang/reflect/natVMProxy.cc12
4 files changed, 25 insertions, 2 deletions
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
index 10a25eb6c73..d4a918483c3 100644
--- a/libjava/java/lang/Class.h
+++ b/libjava/java/lang/Class.h
@@ -97,9 +97,9 @@ class _Jv_Linker;
class _Jv_ExecutionEngine;
class _Jv_CompiledEngine;
class _Jv_IndirectCompiledEngine;
-class _Jv_InterpreterEngine;
#ifdef INTERPRETER
+class _Jv_InterpreterEngine;
class _Jv_ClassReader;
class _Jv_InterpClass;
class _Jv_InterpMethod;
@@ -619,6 +619,7 @@ private:
friend class ::_Jv_ClassReader;
friend class ::_Jv_InterpClass;
friend class ::_Jv_InterpMethod;
+ friend class ::_Jv_InterpreterEngine;
#endif
friend class ::_Jv_StackTrace;
@@ -633,7 +634,6 @@ private:
friend class ::_Jv_ExecutionEngine;
friend class ::_Jv_CompiledEngine;
friend class ::_Jv_IndirectCompiledEngine;
- friend class ::_Jv_InterpreterEngine;
friend class ::_Jv_ClosureList;
friend void ::_Jv_sharedlib_register_hook (jclass klass);
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 754681d832a..47d7739c715 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -671,6 +671,7 @@ java::lang::Class::finalize (void)
engine->unregister(this);
}
+#ifdef INTERPRETER
void
_Jv_ClosureList::releaseClosures (_Jv_ClosureList **closures)
{
@@ -692,6 +693,7 @@ _Jv_ClosureList::registerClosure (jclass klass, void *ptr)
this->next = *closures;
*closures = this;
}
+#endif
// This implements the initialization process for a class. From Spec
// section 12.4.2.
@@ -2065,6 +2067,7 @@ _Jv_GetClassState (jclass klass)
return klass->state;
}
+#ifdef INTERPRETER
jstring
_Jv_GetInterpClassSourceFile (jclass klass)
{
@@ -2077,3 +2080,4 @@ _Jv_GetInterpClassSourceFile (jclass klass)
return NULL;
}
+#endif
diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc
index 42f18c4eb3a..d6abff13f54 100644
--- a/libjava/java/lang/natThread.cc
+++ b/libjava/java/lang/natThread.cc
@@ -27,8 +27,11 @@ details. */
#include <java/lang/NullPointerException.h>
#include <jni.h>
+
+#ifdef INTERPRETER
#include <jvmti.h>
#include "jvmti-int.h"
+#endif
#ifdef ENABLE_JVMPI
#include <jvmpi.h>
@@ -217,8 +220,10 @@ java::lang::Thread::finish_ ()
nt->park_helper.deactivate ();
group->removeThread (this);
+#ifdef INTERPRETER
if (JVMTI_REQUESTED_EVENT (ThreadEnd))
_Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_END, this, nt->jni_env);
+#endif
#ifdef ENABLE_JVMPI
if (_Jv_JVMPI_Notify_THREAD_END)
@@ -258,11 +263,13 @@ java::lang::Thread::finish_ ()
static void
_Jv_NotifyThreadStart (java::lang::Thread* thread)
{
+#ifdef INTERPRETER
if (JVMTI_REQUESTED_EVENT (ThreadStart))
{
natThread *nt = reinterpret_cast<natThread *> (thread->data);
_Jv_JVMTI_PostEvent (JVMTI_EVENT_THREAD_START, thread, nt->jni_env);
}
+#endif
#ifdef ENABLE_JVMPI
if (_Jv_JVMPI_Notify_THREAD_START)
diff --git a/libjava/java/lang/reflect/natVMProxy.cc b/libjava/java/lang/reflect/natVMProxy.cc
index 1d9a3c6a551..a1b7dfcc398 100644
--- a/libjava/java/lang/reflect/natVMProxy.cc
+++ b/libjava/java/lang/reflect/natVMProxy.cc
@@ -42,6 +42,7 @@ details. */
#include <java/lang/IllegalArgumentException.h>
#include <java/lang/Integer.h>
#include <java/lang/StringBuffer.h>
+#include <java/lang/UnsupportedOperationException.h>
#include <java/lang/VMClassLoader.h>
#include <java/lang/VMCompiler.h>
#include <java/lang/reflect/InvocationHandler.h>
@@ -65,6 +66,15 @@ details. */
using namespace java::lang::reflect;
using namespace java::lang;
+#ifndef INTERPRETER
+jclass
+java::lang::reflect::VMProxy::generateProxyClass
+ (ClassLoader *, Proxy$ProxyData *)
+{
+ throw new UnsupportedOperationException (
+ JvNewStringLatin1 ("Interpreter not available"));
+}
+#else
typedef void (*closure_fun) (ffi_cif*, void*, void**, void*);
static void *ncode (int method_index, jclass klass, _Jv_Method *self, closure_fun fun);
static void run_proxy (ffi_cif*, void*, void**, void*);
@@ -444,3 +454,5 @@ ncode (int method_index, jclass klass, _Jv_Method *self, closure_fun fun)
self->ncode = code;
return self->ncode;
}
+
+#endif // INTERPRETER