< prev index next >

src/hotspot/os_cpu/linux_ppc/os_linux_ppc.cpp

Print this page

        

*** 455,466 **** // SIGILL must be caused by VM_Version::determine_features(). *(int *)pc = 0; // patch instruction to 0 to indicate that it causes a SIGILL, // flushing of icache is not necessary. stub = pc + 4; // continue with next instruction. } ! else if (thread->thread_state() == _thread_in_vm && ! sig == SIGBUS && thread->doing_unsafe_access()) { address next_pc = pc + 4; next_pc = SharedRuntime::handle_unsafe_access(thread, next_pc); os::Linux::ucontext_set_pc(uc, pc + 4); return true; } --- 455,465 ---- // SIGILL must be caused by VM_Version::determine_features(). *(int *)pc = 0; // patch instruction to 0 to indicate that it causes a SIGILL, // flushing of icache is not necessary. stub = pc + 4; // continue with next instruction. } ! else if (sig == SIGBUS && thread->doing_unsafe_access()) { address next_pc = pc + 4; next_pc = SharedRuntime::handle_unsafe_access(thread, next_pc); os::Linux::ucontext_set_pc(uc, pc + 4); return true; }
< prev index next >