summaryrefslogtreecommitdiff
path: root/libjava/include/java-interp.h
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-09 01:35:33 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2006-02-09 01:35:33 +0000
commitfdcfb10d15004124c997452560fe5fe30c85618d (patch)
tree726a8b9fcb5ec53a03add370b1409565ddac5505 /libjava/include/java-interp.h
parentc325229b260e90dc9b964a17c42498933af44537 (diff)
downloadgcc-fdcfb10d15004124c997452560fe5fe30c85618d.tar.gz
2006-02-08 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/25187: * gnu/gcj/io/natSimpleSHSStream.cc (gnu::gcj::io::SimpleSHSStream::shsFinal): Remove bogus cast. * interpret.cc (_Jv_InterpMethod::run): Simplify arguments to _Jv_InterpFrame(). * boehm.cc: #undef some autoconf macros before including gc-config.h. (_Jv_MarkObject): Don't mark the class, it is reachable via the vtable. (_Jv_MarkArray): Likewise. * java/lang/ref/natReference.cc (java::lang::ref::Reference::create): Simplify _Jv_GCRegisterDisappearingLink() call. * java/lang/Class.h (getComponentType): Use element_type. (element_type): New field declaration, as a union with "methods". * java/lang/natClassLoader.cc (_Jv_NewArrayClass): Use "element_type". * java/net/natVMNetworkInterfacePosix.cc (java::net::VMNetworkInterface::getInterfaces): Add "int" cast to avoid sign comparison warning. * include/java-interp.h (_Jv_InterpFrame): Take thread as second argument, not parent call frame. * include/x86_64-signal.h (MAKE_THROW_FRAME): Use "gregs" directly, without a cast. (restore_rt): Declare with hidden visibility, not "static". * posix.cc (_Jv_platform_initProperties): Make "tmpdir" a string constant. * jni.cc (_Jv_JNI_DestroyJavaVM): Use a union to avoid strict alias warning git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110783 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/include/java-interp.h')
-rw-r--r--libjava/include/java-interp.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/libjava/include/java-interp.h b/libjava/include/java-interp.h
index 73ab2fe0ae6..aed642b576d 100644
--- a/libjava/include/java-interp.h
+++ b/libjava/include/java-interp.h
@@ -22,6 +22,8 @@ details. */
#include <java/lang/Class.h>
#include <java/lang/ClassLoader.h>
#include <java/lang/reflect/Modifier.h>
+#include <java/lang/Thread.h>
+#include <gnu/gcj/RawData.h>
// Define this to get the direct-threaded interpreter. If undefined,
// we revert to a basic bytecode interpreter. The former is faster
@@ -290,22 +292,22 @@ public:
struct _Jv_InterpFrame
{
_Jv_InterpMethod *self;
- _Jv_InterpFrame **ptr;
+ java::lang::Thread *thread;
_Jv_InterpFrame *next;
pc_t pc;
- _Jv_InterpFrame (_Jv_InterpMethod *s, _Jv_InterpFrame **n)
+ _Jv_InterpFrame (_Jv_InterpMethod *s, java::lang::Thread *thr)
{
self = s;
- ptr = n;
- next = *n;
- *n = this;
+ thread = thr;
+ next = (_Jv_InterpFrame *) thr->interp_frame;
+ thr->interp_frame = (gnu::gcj::RawData *) this;
pc = NULL;
}
~_Jv_InterpFrame ()
{
- *ptr = next;
+ thread->interp_frame = (gnu::gcj::RawData *) next;
}
};