src/os/windows/vm/os_windows.cpp

changeset 5401
a74ec8831c7b
parent 5365
59b052799158
parent 5400
980532a806a5
child 5426
af21010d1062
equal deleted inserted replaced
5397:bd1dc81da579 5401:a74ec8831c7b
2320 address pc = (address) exceptionInfo->ContextRecord->Rip; 2320 address pc = (address) exceptionInfo->ContextRecord->Rip;
2321 #else 2321 #else
2322 address pc = (address) exceptionInfo->ContextRecord->Eip; 2322 address pc = (address) exceptionInfo->ContextRecord->Eip;
2323 #endif 2323 #endif
2324 Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady 2324 Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady
2325
2326 // Handle SafeFetch32 and SafeFetchN exceptions.
2327 if (StubRoutines::is_safefetch_fault(pc)) {
2328 return Handle_Exception(exceptionInfo, StubRoutines::continuation_for_safefetch_fault(pc));
2329 }
2325 2330
2326 #ifndef _WIN64 2331 #ifndef _WIN64
2327 // Execution protection violation - win32 running on AMD64 only 2332 // Execution protection violation - win32 running on AMD64 only
2328 // Handled first to avoid misdiagnosis as a "normal" access violation; 2333 // Handled first to avoid misdiagnosis as a "normal" access violation;
2329 // This is safe to do because we have a new/unique ExceptionInformation 2334 // This is safe to do because we have a new/unique ExceptionInformation

mercurial