diff options
author | kgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-17 18:36:12 +0000 |
---|---|---|
committer | kgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-05-17 18:36:12 +0000 |
commit | 0aa75869cbeb02e436061c336ce358d6a9a84c2a (patch) | |
tree | fa89c6238ec855905d0d047acc3527b216df5fc3 | |
parent | b03d837f0c3a0fb4bc9c7f4f5fc296bef925b40d (diff) | |
download | gcc-0aa75869cbeb02e436061c336ce358d6a9a84c2a.tar.gz |
2007-05-17 Kyle Galloway <kgallowa@redhat.com>
* gnu/classpath/jdwp/VMFrame.java (<init>): Add parameter for "this"
pointer.
* gnu/classpath/jdwp/VMFrame.h: Regenerated.
* classpath/lib/gnu/classpath/jdwp/VMFrame.class: Rebuilt.
* gnu/classpath/jdwp/natVMVirtualMachine.cc (getFrame): Use new
VMFrame constructor.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124806 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 9 | ||||
-rw-r--r-- | libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class | bin | 1160 -> 1210 bytes | |||
-rw-r--r-- | libjava/gnu/classpath/jdwp/VMFrame.h | 2 | ||||
-rw-r--r-- | libjava/gnu/classpath/jdwp/VMFrame.java | 4 | ||||
-rw-r--r-- | libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc | 16 |
5 files changed, 26 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1aae32413bf..b4c913b4f52 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2007-05-17 Kyle Galloway <kgallowa@redhat.com> + + * gnu/classpath/jdwp/VMFrame.java (<init>): Add parameter for "this" + pointer. + * gnu/classpath/jdwp/VMFrame.h: Regenerated. + * classpath/lib/gnu/classpath/jdwp/VMFrame.class: Rebuilt. + * gnu/classpath/jdwp/natVMVirtualMachine.cc (getFrame): Use new + VMFrame constructor. + 2007-05-16 David Daney <ddaney@avtrex.com> * include/java-stack.h (_Jv_FrameInfo): Remove union definition. diff --git a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class Binary files differindex cf8f695204e..ce46cf0b91b 100644 --- a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class +++ b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class diff --git a/libjava/gnu/classpath/jdwp/VMFrame.h b/libjava/gnu/classpath/jdwp/VMFrame.h index 0108e7b96d5..737f39de28b 100644 --- a/libjava/gnu/classpath/jdwp/VMFrame.h +++ b/libjava/gnu/classpath/jdwp/VMFrame.h @@ -33,7 +33,7 @@ class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object { public: - VMFrame(::java::lang::Thread *, jlong, ::gnu::classpath::jdwp::util::Location *); + VMFrame(::java::lang::Thread *, jlong, ::gnu::classpath::jdwp::util::Location *, ::java::lang::Object *); virtual ::gnu::classpath::jdwp::util::Location * getLocation(); virtual ::gnu::classpath::jdwp::value::Value * getValue(jint, jbyte); virtual void setValue(jint, ::gnu::classpath::jdwp::value::Value *); diff --git a/libjava/gnu/classpath/jdwp/VMFrame.java b/libjava/gnu/classpath/jdwp/VMFrame.java index 4b144af75c3..de2640c85ff 100644 --- a/libjava/gnu/classpath/jdwp/VMFrame.java +++ b/libjava/gnu/classpath/jdwp/VMFrame.java @@ -74,11 +74,13 @@ public class VMFrame * @param frame_id a long, the jframeID of this frame * @param frame_loc a Location, the location of this frame */ - public VMFrame(Thread thr, long frame_id, Location frame_loc) + public VMFrame(Thread thr, long frame_id, Location frame_loc, + Object frame_obj) { thread = thr; id = frame_id; loc = frame_loc; + obj = frame_obj; } /** diff --git a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc index 7fee49bee4c..db33781378e 100644 --- a/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc +++ b/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc @@ -618,12 +618,22 @@ getFrame (Thread *thread, jlong frameID) VMMethod *meth = getClassMethod (klass, reinterpret_cast<jlong> (info.method)); + jobject this_obj; + if (info.location == -1) - loc = new Location (meth, 0); + { + loc = new Location (meth, 0); + this_obj = NULL; + } else - loc = new Location (meth, info.location); + { + loc = new Location (meth, info.location); + _Jv_InterpFrame *iframe = reinterpret_cast<_Jv_InterpFrame *> (vm_frame); + this_obj = iframe->get_this_ptr (); + } - return new VMFrame (thread, reinterpret_cast<jlong> (vm_frame), loc); + return new VMFrame (thread, reinterpret_cast<jlong> (vm_frame), loc, + this_obj); } jint |