From: Kyle Galloway Date: Thu, 17 May 2007 18:36:12 +0000 (+0000) Subject: VMFrame.java (): Add parameter for "this" pointer. X-Git-Tag: releases/gcc-4.3.0~5049 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=538639f4ab33f1a9f8c347a8f1e2369fdc4989e4;p=thirdparty%2Fgcc.git VMFrame.java (): Add parameter for "this" pointer. 2007-05-17 Kyle Galloway * gnu/classpath/jdwp/VMFrame.java (): 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 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1aae32413bfa..b4c913b4f521 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2007-05-17 Kyle Galloway + + * gnu/classpath/jdwp/VMFrame.java (): 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 * 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 cf8f695204e4..ce46cf0b91b3 100644 Binary files a/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class and b/libjava/classpath/lib/gnu/classpath/jdwp/VMFrame.class differ diff --git a/libjava/gnu/classpath/jdwp/VMFrame.h b/libjava/gnu/classpath/jdwp/VMFrame.h index 0108e7b96d57..737f39de28bd 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 4b144af75c31..de2640c85fff 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 7fee49bee4c9..db33781378e5 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 (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 (vm_frame), loc); + return new VMFrame (thread, reinterpret_cast (vm_frame), loc, + this_obj); } jint