Fix exception caught listeners and frame type for deopt.
Change-Id: I5792ebe9a7772d068b6ec556b4fc27ddd44d7ca1
diff --git a/src/instrumentation.cc b/src/instrumentation.cc
index 55e93cb..982af29 100644
--- a/src/instrumentation.cc
+++ b/src/instrumentation.cc
@@ -274,6 +274,10 @@
require_interpreter = true;
have_dex_pc_listeners_ = true;
}
+ if ((events & kExceptionCaught) != 0) {
+ exception_caught_listeners_.push_back(listener);
+ have_exception_caught_listeners_ = true;
+ }
ConfigureStubs(require_entry_exit_stubs, require_interpreter);
}
@@ -312,6 +316,10 @@
have_dex_pc_listeners_ = dex_pc_listeners_.size() > 0;
require_interpreter |= have_dex_pc_listeners_;
}
+ if ((events & kExceptionCaught) != 0) {
+ exception_caught_listeners_.remove(listener);
+ have_exception_caught_listeners_ = exception_caught_listeners_.size() > 0;
+ }
ConfigureStubs(require_entry_exit_stubs, require_interpreter);
}