Mercurial > hg > graal-compiler
comparison src/os/windows/vm/os_windows.cpp @ 11127:980532a806a5
8016697: Use stubs to implement safefetch
Summary: Implement Safefetch as stub routines. This reduces compiler and os dependencies.
Reviewed-by: twisti, kvn
author | goetz |
---|---|
date | Thu, 20 Jun 2013 15:02:05 +0200 |
parents | 1f4355cee9a2 |
children | a74ec8831c7b |
comparison
equal
deleted
inserted
replaced
11088:ea4d24c1e0c6 | 11127: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 |