< prev index next >

src/hotspot/os_cpu/linux_s390/os_linux_s390.cpp

Print this page

        

*** 456,467 **** } else if ((sig == SIGFPE) && VM_Version::is_determine_features_test_running()) { // SIGFPE is known to be caused by trying to execute a vector instruction // when the vector facility is installed, but operating system support is missing. VM_Version::reset_has_VectorFacility(); stub = pc; // Continue with next instruction. ! } else if (thread->thread_state() == _thread_in_vm && ! sig == SIGBUS && thread->doing_unsafe_access()) { // We don't really need a stub here! Just set the pending exeption and // continue at the next instruction after the faulting read. Returning // garbage from this read is ok. thread->set_pending_unsafe_access_error(); os::Linux::ucontext_set_pc(uc, pc + Assembler::instr_len(pc)); --- 456,466 ---- } else if ((sig == SIGFPE) && VM_Version::is_determine_features_test_running()) { // SIGFPE is known to be caused by trying to execute a vector instruction // when the vector facility is installed, but operating system support is missing. VM_Version::reset_has_VectorFacility(); stub = pc; // Continue with next instruction. ! } else if (sig == SIGBUS && thread->doing_unsafe_access()) { // We don't really need a stub here! Just set the pending exeption and // continue at the next instruction after the faulting read. Returning // garbage from this read is ok. thread->set_pending_unsafe_access_error(); os::Linux::ucontext_set_pc(uc, pc + Assembler::instr_len(pc));
< prev index next >