# HG changeset patch # User Doug Simon # Date 1367507760 -7200 # Node ID f491f51e96b598a1191f4e85147c8c5ecd176ac7 # Parent 51973e9ec004015e270670eefd653c248a035313 exception PC stored in thread is cleared before entering ExceptionHandlerStub diff -r 51973e9ec004 -r f491f51e96b5 src/share/vm/runtime/sharedRuntime.cpp --- a/src/share/vm/runtime/sharedRuntime.cpp Thu May 02 15:12:52 2013 +0200 +++ b/src/share/vm/runtime/sharedRuntime.cpp Thu May 02 17:16:00 2013 +0200 @@ -493,6 +493,10 @@ // native nmethods don't have exception handlers assert(!nm->is_native_method(), "no exception handler"); assert(nm->header_begin() != nm->exception_begin(), "no exception handler"); +#ifdef GRAAL + // Graal's ExceptionHandlerStub expects the exception PC stored in the thread to be 0 + thread->set_exception_pc(NULL); +#endif if (nm->is_deopt_pc(return_address)) { return SharedRuntime::deopt_blob()->unpack_with_exception(); } else {