Compute the right catch location for the debugger.
Also remove tls ThrowLocation, it is not needed anymore.
Change-Id: I78fddf09ce968ca475e39c17fa76d699c589c8d9
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index c94dab9..085062c 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -949,19 +949,16 @@
}
}
-void Instrumentation::ExceptionCaughtEvent(Thread* thread, const ThrowLocation& throw_location,
- mirror::ArtMethod* catch_method,
- uint32_t catch_dex_pc,
+void Instrumentation::ExceptionCaughtEvent(Thread* thread,
mirror::Throwable* exception_object) const {
if (HasExceptionCaughtListeners()) {
- DCHECK_EQ(thread->GetException(nullptr), exception_object);
+ DCHECK_EQ(thread->GetException(), exception_object);
thread->ClearException();
std::shared_ptr<std::list<InstrumentationListener*>> original(exception_caught_listeners_);
for (InstrumentationListener* listener : *original.get()) {
- listener->ExceptionCaught(thread, throw_location, catch_method, catch_dex_pc,
- exception_object);
+ listener->ExceptionCaught(thread, exception_object);
}
- thread->SetException(throw_location, exception_object);
+ thread->SetException(exception_object);
}
}