equal
deleted
inserted
replaced
284 } |
284 } |
285 #ifdef AMD64 |
285 #ifdef AMD64 |
286 if (pc == (address) FetchNPFI) { |
286 if (pc == (address) FetchNPFI) { |
287 uc->uc_mcontext.gregs[REG_PC] = intptr_t (FetchNResume) ; |
287 uc->uc_mcontext.gregs[REG_PC] = intptr_t (FetchNResume) ; |
288 return 1 ; |
288 return 1 ; |
|
289 } |
|
290 #endif // AMD64 |
|
291 |
|
292 #ifndef AMD64 |
|
293 // Halt if SI_KERNEL before more crashes get misdiagnosed as Java bugs |
|
294 // This can happen in any running code (currently more frequently in |
|
295 // interpreter code but has been seen in compiled code) |
|
296 if (sig == SIGSEGV && info->si_addr == 0 && info->si_code == SI_KERNEL) { |
|
297 fatal("An irrecoverable SI_KERNEL SIGSEGV has occurred due " |
|
298 "to unstable signal handling in this distribution."); |
289 } |
299 } |
290 #endif // AMD64 |
300 #endif // AMD64 |
291 |
301 |
292 // Handle ALL stack overflow variations here |
302 // Handle ALL stack overflow variations here |
293 if (sig == SIGSEGV) { |
303 if (sig == SIGSEGV) { |