aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorKyle Galloway <kgallowa@redhat.com>2007-01-29 22:05:56 +0000
committerKyle Galloway <kgallowa@gcc.gnu.org>2007-01-29 22:05:56 +0000
commit392731311776d30b0910e51a5bc2aef070a9fc8b (patch)
tree832133e3bfa83e14520e76d3a01b7a61b1b3b20e /libjava/java
parentd75bf843440e5d372411699e81d87b273d398da6 (diff)
downloadgcc-392731311776d30b0910e51a5bc2aef070a9fc8b.zip
gcc-392731311776d30b0910e51a5bc2aef070a9fc8b.tar.gz
gcc-392731311776d30b0910e51a5bc2aef070a9fc8b.tar.bz2
java-interp.h: Added _Jv_Frame class and its two subclasses _Jv_InterpFrame and _Jv_NativeFrame.
2007-01-29 Kyle Galloway <kgallowa@redhat.com> * 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. From-SVN: r121314
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/Thread.h3
-rw-r--r--libjava/java/lang/Thread.java3
2 files changed, 5 insertions, 1 deletions
diff --git a/libjava/java/lang/Thread.h b/libjava/java/lang/Thread.h
index 74e1490..d5fce86 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 9666482..7216512 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;