equal
deleted
inserted
replaced
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 |