Commit 538639f4 by Kyle Galloway Committed by Kyle Galloway

VMFrame.java (<init>): Add parameter for "this" pointer.

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
parent dabde990
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> 2007-05-16 David Daney <ddaney@avtrex.com>
* include/java-stack.h (_Jv_FrameInfo): Remove union definition. * include/java-stack.h (_Jv_FrameInfo): Remove union definition.
......
...@@ -33,7 +33,7 @@ class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object ...@@ -33,7 +33,7 @@ class gnu::classpath::jdwp::VMFrame : public ::java::lang::Object
{ {
public: 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::util::Location * getLocation();
virtual ::gnu::classpath::jdwp::value::Value * getValue(jint, jbyte); virtual ::gnu::classpath::jdwp::value::Value * getValue(jint, jbyte);
virtual void setValue(jint, ::gnu::classpath::jdwp::value::Value *); virtual void setValue(jint, ::gnu::classpath::jdwp::value::Value *);
......
...@@ -74,11 +74,13 @@ public class VMFrame ...@@ -74,11 +74,13 @@ public class VMFrame
* @param frame_id a long, the jframeID of this frame * @param frame_id a long, the jframeID of this frame
* @param frame_loc a Location, the location 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; thread = thr;
id = frame_id; id = frame_id;
loc = frame_loc; loc = frame_loc;
obj = frame_obj;
} }
/** /**
......
...@@ -618,12 +618,22 @@ getFrame (Thread *thread, jlong frameID) ...@@ -618,12 +618,22 @@ getFrame (Thread *thread, jlong frameID)
VMMethod *meth VMMethod *meth
= getClassMethod (klass, reinterpret_cast<jlong> (info.method)); = getClassMethod (klass, reinterpret_cast<jlong> (info.method));
jobject this_obj;
if (info.location == -1) if (info.location == -1)
{
loc = new Location (meth, 0); loc = new Location (meth, 0);
this_obj = NULL;
}
else 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 jint
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment