From 6f1e93c7f179d40a03ce718a09331d584ff6a021 Mon Sep 17 00:00:00 2001 From: kgallowa Date: Mon, 29 Jan 2007 22:05:56 +0000 Subject: 2007-01-29 Kyle Galloway * include/java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_NativeFrame. Also moved _Jv_FrameType from java-stack.h. * include/java-stack.h: Removed _Jv_FrameType. * java/lang/Thread.java: Added frame member to hold new composite frame stack. * java/lang/Thread.h: Regenerated. * java/lang/Thread.class: Rebuilt. * jni.cc (_Jv_JNIMethod::call): Push a frame onto the stack when calling a JNI method. * jvmti.cc (_Jv_JVMTI_GetStackTrace): New Method. (_Jv_JVMTI_GetFrameCount): New method. * stacktrace.cc (UnwindTraceFn): Modified to use new _Jv_Frame classes. * testsuite/libjava.jvmti/interp/getstacktrace.jar: New test. * testsuite/libjava.jvmti/interp/natgetstacktrace.cc: New test. * testsuite/libjava.jvmti/interp/getstacktrace.h: New test. * testsuite/libjava.jvmti/interp/getstacktrace.jar: New test. * testsuite/libjava.jvmti/interp/getstacktrace.out: Output file for test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121314 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/Thread.h | 3 ++- libjava/java/lang/Thread.java | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'libjava/java/lang') diff --git a/libjava/java/lang/Thread.h b/libjava/java/lang/Thread.h index 74e149030f7..d5fce863877 100644 --- a/libjava/java/lang/Thread.h +++ b/libjava/java/lang/Thread.h @@ -144,7 +144,8 @@ public: // actually package-private static const jbyte THREAD_PARK_DEAD = 3; ::java::lang::Object * accessControlState; ::gnu::gcj::RawData * interp_frame; - jint volatile state; + ::gnu::gcj::RawData * frame; + volatile jint state; ::gnu::gcj::RawDataManaged * data; public: static ::java::lang::Class class$; diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java index 9666482040a..7216512530d 100644 --- a/libjava/java/lang/Thread.java +++ b/libjava/java/lang/Thread.java @@ -182,6 +182,9 @@ public class Thread implements Runnable // This describes the top-most interpreter frame for this thread. RawData interp_frame; + + // This describes the top most frame in the composite (interp + JNI) stack + RawData frame; // Current state. volatile int state; -- cgit v1.2.3