src/os/windows/vm/os_windows.cpp

changeset 5400
980532a806a5
parent 5272
1f4355cee9a2
child 5401
a74ec8831c7b
equal deleted inserted replaced
5361:ea4d24c1e0c6 5400:980532a806a5
2314 address pc = (address) exceptionInfo->ContextRecord->Rip; 2314 address pc = (address) exceptionInfo->ContextRecord->Rip;
2315 #else 2315 #else
2316 address pc = (address) exceptionInfo->ContextRecord->Eip; 2316 address pc = (address) exceptionInfo->ContextRecord->Eip;
2317 #endif 2317 #endif
2318 Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady 2318 Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady
2319
2320 // Handle SafeFetch32 and SafeFetchN exceptions.
2321 if (StubRoutines::is_safefetch_fault(pc)) {
2322 return Handle_Exception(exceptionInfo, StubRoutines::continuation_for_safefetch_fault(pc));
2323 }
2319 2324
2320 #ifndef _WIN64 2325 #ifndef _WIN64
2321 // Execution protection violation - win32 running on AMD64 only 2326 // Execution protection violation - win32 running on AMD64 only
2322 // Handled first to avoid misdiagnosis as a "normal" access violation; 2327 // Handled first to avoid misdiagnosis as a "normal" access violation;
2323 // This is safe to do because we have a new/unique ExceptionInformation 2328 // This is safe to do because we have a new/unique ExceptionInformation

mercurial