]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
VMFrame.java (<init>): Add parameter for "this" pointer.
authorKyle Galloway <kgallowa@redhat.com>
Thu, 17 May 2007 18:36:12 +0000 (18:36 +0000)
committerKyle Galloway <kgallowa@gcc.gnu.org>
Thu, 17 May 2007 18:36:12 +0000 (18:36 +0000)
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.

From-SVN: r124806

libjava/ChangeLog
libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class
libjava/gnu/classpath/jdwp/VMFrame.h
libjava/gnu/classpath/jdwp/VMFrame.java
libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc

index 1aae32413bfa9d7f85ecee1bccb8a401cda56e9b..b4c913b4f521e4aa3bce357cf60f15c0f4b69b41 100644 (file)
@@ -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.
index cf8f695204e4f85c4c2ba339fdff0dc28614b1b0..ce46cf0b91b303b5dfd416634f49525e98f0ba8a 100644 (file)
Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class and b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class differ
index 0108e7b96d57d094c407c226da0800ca827594be..737f39de28bd80bb1d376601fddf58672104a238 100644 (file)
@@ -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 *);
index 4b144af75c314e1f8528e97f9e2180c8148646c9..de2640c85fff393a945c82aa64ad08c3b1597d99 100644 (file)
@@ -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;
   }
   
   /**
index 7fee49bee4c90b81403f4f89a64a154e4925aebb..db33781378e54ed2429239788aa8f67191b24839 100644 (file)
@@ -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