equal
deleted
inserted
replaced
476 else if (sig == SIGBUS && info->si_code == BUS_OBJERR) { |
476 else if (sig == SIGBUS && info->si_code == BUS_OBJERR) { |
477 // BugId 4454115: A read from a MappedByteBuffer can fault |
477 // BugId 4454115: A read from a MappedByteBuffer can fault |
478 // here if the underlying file has been truncated. |
478 // here if the underlying file has been truncated. |
479 // Do not crash the VM in such a case. |
479 // Do not crash the VM in such a case. |
480 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); |
480 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); |
481 nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; |
481 CompiledMethod* nm = cb->as_compiled_method_or_null(); |
482 if (nm != NULL && nm->has_unsafe_access()) { |
482 if (nm != NULL && nm->has_unsafe_access()) { |
483 stub = StubRoutines::handler_for_unsafe_access(); |
483 stub = StubRoutines::handler_for_unsafe_access(); |
484 } |
484 } |
485 } |
485 } |
486 |
486 |