Propagate 'this_object' for method unwind event.
Propagates the 'this_object' to InstrumentationListener::MethodUnwind callback.
Change-Id: I12561f1a611b8399b94e669f9b8a6eaaf1a58631
diff --git a/runtime/debugger.cc b/runtime/debugger.cc
index f537709..a2de602 100644
--- a/runtime/debugger.cc
+++ b/runtime/debugger.cc
@@ -136,11 +136,12 @@
Dbg::PostLocationEvent(method, dex_pc, this_object, Dbg::kMethodExit);
}
- virtual void MethodUnwind(Thread* thread, const mirror::ArtMethod* method,
- uint32_t dex_pc) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
+ virtual void MethodUnwind(Thread* thread, mirror::Object* this_object,
+ const mirror::ArtMethod* method, uint32_t dex_pc)
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) {
// We're not recorded to listen to this kind of event, so complain.
LOG(ERROR) << "Unexpected method unwind event in debugger " << PrettyMethod(method)
- << " " << dex_pc;
+ << " " << dex_pc;
}
virtual void DexPcMoved(Thread* thread, mirror::Object* this_object,