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