diff options
| author | 2014-06-11 12:32:31 +0000 | |
|---|---|---|
| committer | 2014-06-10 21:26:11 +0000 | |
| commit | 3283ade469f515f89d70cf47b6ac6fe1814147f2 (patch) | |
| tree | 6b730cbe56ded370d1b4293629826ad2c7b06f7f /runtime/entrypoints/entrypoint_utils.h | |
| parent | bc72903b909f5147b8cb207f3e5d02a8ef85e4e7 (diff) | |
| parent | 9f1020305292a21fd14a402b189c765a125226ab (diff) | |
Merge "Fix exception reporting from interpreter"
Diffstat (limited to 'runtime/entrypoints/entrypoint_utils.h')
| -rw-r--r-- | runtime/entrypoints/entrypoint_utils.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/entrypoints/entrypoint_utils.h b/runtime/entrypoints/entrypoint_utils.h index 09899c05bd..3d8b29fd24 100644 --- a/runtime/entrypoints/entrypoint_utils.h +++ b/runtime/entrypoints/entrypoint_utils.h @@ -652,6 +652,7 @@ static inline void UnlockJniSynchronizedMethod(jobject locked, Thread* self) // Save any pending exception over monitor exit call. mirror::Throwable* saved_exception = NULL; ThrowLocation saved_throw_location; + bool is_exception_reported = self->IsExceptionReportedToInstrumentation(); if (UNLIKELY(self->IsExceptionPending())) { saved_exception = self->GetException(&saved_throw_location); self->ClearException(); @@ -667,6 +668,7 @@ static inline void UnlockJniSynchronizedMethod(jobject locked, Thread* self) // Restore pending exception. if (saved_exception != NULL) { self->SetException(saved_throw_location, saved_exception); + self->SetExceptionReportedToInstrumentation(is_exception_reported); } } |