equal
deleted
inserted
replaced
383 } else if (sig == SIGBUS /* && info->si_code == BUS_OBJERR */) { |
383 } else if (sig == SIGBUS /* && info->si_code == BUS_OBJERR */) { |
384 // BugId 4454115: A read from a MappedByteBuffer can fault |
384 // BugId 4454115: A read from a MappedByteBuffer can fault |
385 // here if the underlying file has been truncated. |
385 // here if the underlying file has been truncated. |
386 // Do not crash the VM in such a case. |
386 // Do not crash the VM in such a case. |
387 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); |
387 CodeBlob* cb = CodeCache::find_blob_unsafe(pc); |
388 nmethod* nm = (cb != NULL && cb->is_nmethod()) ? (nmethod*)cb : NULL; |
388 CompiledMethod* nm = (cb != NULL) ? cb->as_compiled_method_or_null() : NULL; |
389 if (nm != NULL && nm->has_unsafe_access()) { |
389 if (nm != NULL && nm->has_unsafe_access()) { |
390 stub = handle_unsafe_access(thread, pc); |
390 stub = handle_unsafe_access(thread, pc); |
391 } |
391 } |
392 } |
392 } |
393 else |
393 else |