summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-17 18:36:12 +0000
committerkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-17 18:36:12 +0000
commit0aa75869cbeb02e436061c336ce358d6a9a84c2a (patch)
treefa89c6238ec855905d0d047acc3527b216df5fc3
parentb03d837f0c3a0fb4bc9c7f4f5fc296bef925b40d (diff)
downloadgcc-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/ChangeLog9
-rw-r--r--libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.classbin1160 -> 1210 bytes
-rw-r--r--libjava/gnu/classpath/jdwp/VMFrame.h2
-rw-r--r--libjava/gnu/classpath/jdwp/VMFrame.java4
-rw-r--r--libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc16
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
index cf8f695204e..ce46cf0b91b 100644
--- a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class
+++ b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class
Binary files differ
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