diff -r bd1dc81da579 -r a74ec8831c7b src/os/windows/vm/os_windows.cpp --- a/src/os/windows/vm/os_windows.cpp Fri Jul 12 17:08:52 2013 -0700 +++ b/src/os/windows/vm/os_windows.cpp Mon Jul 15 12:24:32 2013 -0400 @@ -2323,6 +2323,11 @@ #endif Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady + // Handle SafeFetch32 and SafeFetchN exceptions. + if (StubRoutines::is_safefetch_fault(pc)) { + return Handle_Exception(exceptionInfo, StubRoutines::continuation_for_safefetch_fault(pc)); + } + #ifndef _WIN64 // Execution protection violation - win32 running on AMD64 only // Handled first to avoid misdiagnosis as a "normal" access violation;