diff -r 25a01874cc47 -r 088b1ea04490 hotspot/src/share/vm/runtime/sharedRuntime.cpp --- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Thu Jan 03 15:08:43 2013 -0500 +++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Tue Jan 08 13:01:19 2013 -0500 @@ -643,7 +643,8 @@ bool skip_scope_increment = false; // exception handler lookup KlassHandle ek (THREAD, exception->klass()); - handler_bci = sd->method()->fast_exception_handler_bci_for(ek, bci, THREAD); + methodHandle mh(THREAD, sd->method()); + handler_bci = Method::fast_exception_handler_bci_for(mh, ek, bci, THREAD); if (HAS_PENDING_EXCEPTION) { recursive_exception = true; // We threw an exception while trying to find the exception handler.