hotspot/src/share/vm/code/relocInfo.cpp
void CallRelocation::fix_relocation_after_move(const CodeBuffer* src, CodeBuffer* dest) {
// Usually a self-relative reference to an external routine.
// On some platforms, the reference is absolute (not self-relative).
// The enhanced use of pd_call_destination sorts this all out.
address orig_addr = old_addr_for(addr(), src, dest);
address callee = pd_call_destination(orig_addr);
// Reassert the callee address, this time in the new copy of the code.
pd_set_call_destination(callee);
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.