summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc')
-rw-r--r--libjava/gnu/classpath/jdwp/natVMVirtualMachine.cc16
1 files changed, 13 insertions, 3 deletions
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
OpenPOWER on IntegriCloud