diff -r 49fb257108d6 -r 128b76ddfd98 hotspot/src/share/vm/opto/runtime.cpp --- a/hotspot/src/share/vm/opto/runtime.cpp Tue Jun 21 19:37:30 2016 +0200 +++ b/hotspot/src/share/vm/opto/runtime.cpp Wed Jul 13 10:51:19 2016 +0300 @@ -59,6 +59,7 @@ #include "opto/mulnode.hpp" #include "opto/runtime.hpp" #include "opto/subnode.hpp" +#include "prims/jvmtiThreadState.hpp" #include "runtime/atomic.inline.hpp" #include "runtime/fprofiler.hpp" #include "runtime/handles.inline.hpp" @@ -1451,6 +1452,11 @@ } #endif + JvmtiThreadState *state = thread->jvmti_thread_state(); + if (state != NULL) { + state->set_exception_detected(); + } + thread->set_vm_result(exception); // Frame not compiled (handles deoptimization blob) return SharedRuntime::raw_exception_handler_for_return_address(thread, ret_pc);