/** * Get return address for a frame in a specific thread * * @param fp its frame pointer * @param thread the thread whose stack is being examined */ @Uninterruptible public static Address getReturnAddress(Address fp, RVMThread thread) { Address ip = getReturnAddressLocation(fp).loadAddress(); if (RVMThread.isTrampolineIP(ip)) return thread.getTrampolineHijackedReturnAddress(); else return ip; }