src/hotspot/share/runtime/sharedRuntime.cpp
changeset 54523 5df03f58d25b
parent 53994 77343f5c85cb
child 54623 1126f0607c70
equal deleted inserted replaced
54522:60bc754b9744 54523:5df03f58d25b
  1916 // We are calling the interpreter via a c2i. Normally this would mean that
  1916 // We are calling the interpreter via a c2i. Normally this would mean that
  1917 // we were called by a compiled method. However we could have lost a race
  1917 // we were called by a compiled method. However we could have lost a race
  1918 // where we went int -> i2c -> c2i and so the caller could in fact be
  1918 // where we went int -> i2c -> c2i and so the caller could in fact be
  1919 // interpreted. If the caller is compiled we attempt to patch the caller
  1919 // interpreted. If the caller is compiled we attempt to patch the caller
  1920 // so he no longer calls into the interpreter.
  1920 // so he no longer calls into the interpreter.
  1921 IRT_LEAF(void, SharedRuntime::fixup_callers_callsite(Method* method, address caller_pc))
  1921 JRT_LEAF(void, SharedRuntime::fixup_callers_callsite(Method* method, address caller_pc))
  1922   Method* moop(method);
  1922   Method* moop(method);
  1923 
  1923 
  1924   address entry_point = moop->from_compiled_entry_no_trampoline();
  1924   address entry_point = moop->from_compiled_entry_no_trampoline();
  1925 
  1925 
  1926   // It's possible that deoptimization can occur at a call site which hasn't
  1926   // It's possible that deoptimization can occur at a call site which hasn't
  1985       if (should_fixup_call_destination(destination, entry_point, caller_pc, moop, cb)) {
  1985       if (should_fixup_call_destination(destination, entry_point, caller_pc, moop, cb)) {
  1986         call->set_destination_mt_safe(entry_point);
  1986         call->set_destination_mt_safe(entry_point);
  1987       }
  1987       }
  1988     }
  1988     }
  1989   }
  1989   }
  1990 IRT_END
  1990 JRT_END
  1991 
  1991 
  1992 
  1992 
  1993 // same as JVM_Arraycopy, but called directly from compiled code
  1993 // same as JVM_Arraycopy, but called directly from compiled code
  1994 JRT_ENTRY(void, SharedRuntime::slow_arraycopy_C(oopDesc* src,  jint src_pos,
  1994 JRT_ENTRY(void, SharedRuntime::slow_arraycopy_C(oopDesc* src,  jint src_pos,
  1995                                                 oopDesc* dest, jint dest_pos,
  1995                                                 oopDesc* dest, jint dest_pos,