diff options
Diffstat (limited to 'runtime/interpreter/interpreter.cc')
| -rw-r--r-- | runtime/interpreter/interpreter.cc | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/runtime/interpreter/interpreter.cc b/runtime/interpreter/interpreter.cc index 4bc0f2fa12..85cf73b044 100644 --- a/runtime/interpreter/interpreter.cc +++ b/runtime/interpreter/interpreter.cc @@ -254,6 +254,13 @@ static inline JValue Execute(      if (UNLIKELY(instrumentation->HasMethodEntryListeners())) {        instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_),                                          method, 0); +      if (UNLIKELY(self->IsExceptionPending())) { +        instrumentation->MethodUnwindEvent(self, +                                           shadow_frame.GetThisObject(code_item->ins_size_), +                                           method, +                                           0); +        return JValue(); +      }      }      if (!stay_in_interpreter) { |