src/hotspot/os_cpu/solaris_x86/os_solaris_x86.cpp
changeset 57822 df3397f95387
parent 55490 3f3dc00a69a5
child 58679 9c3209ff7550
child 59292 95b1385dd476
equal deleted inserted replaced
57821:182f94955cfb 57822:df3397f95387
   539         // Do not crash the VM in such a case.
   539         // Do not crash the VM in such a case.
   540         CodeBlob* cb = CodeCache::find_blob_unsafe(pc);
   540         CodeBlob* cb = CodeCache::find_blob_unsafe(pc);
   541         if (cb != NULL) {
   541         if (cb != NULL) {
   542           CompiledMethod* nm = cb->as_compiled_method_or_null();
   542           CompiledMethod* nm = cb->as_compiled_method_or_null();
   543           bool is_unsafe_arraycopy = thread->doing_unsafe_access() && UnsafeCopyMemory::contains_pc(pc);
   543           bool is_unsafe_arraycopy = thread->doing_unsafe_access() && UnsafeCopyMemory::contains_pc(pc);
   544           if ((nm != NULL && nm->has_unsafe_access()) || is_unsafe_arraycopy)) {
   544           if ((nm != NULL && nm->has_unsafe_access()) || is_unsafe_arraycopy) {
   545             address next_pc = Assembler::locate_next_instruction(pc);
   545             address next_pc = Assembler::locate_next_instruction(pc);
   546             if (is_unsafe_arraycopy) {
   546             if (is_unsafe_arraycopy) {
   547               next_pc = UnsafeCopyMemory::page_error_continue_pc(pc);
   547               next_pc = UnsafeCopyMemory::page_error_continue_pc(pc);
   548             }
   548             }
   549             stub = SharedRuntime::handle_unsafe_access(thread, next_pc);
   549             stub = SharedRuntime::handle_unsafe_access(thread, next_pc);