Lines Matching refs:old_func
765 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithDetour() argument
769 uptr header = (uptr)old_func - kDetourHeaderLen; in OverrideFunctionWithDetour()
773 if (*(u16*)old_func != kDetourInstruction || in OverrideFunctionWithDetour()
786 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithDetour()
793 *orig_old_func = old_func + kShortJumpInstructionLength; in OverrideFunctionWithDetour()
800 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithRedirectJump() argument
802 if (*(u8*)old_func != 0xE9) in OverrideFunctionWithRedirectJump()
806 sptr relative_offset = *(s32 *)(old_func + 1); in OverrideFunctionWithRedirectJump()
807 uptr absolute_target = old_func + relative_offset + kJumpInstructionLength; in OverrideFunctionWithRedirectJump()
813 uptr trampoline = AllocateMemoryForTrampoline(old_func, kDirectBranchLength); in OverrideFunctionWithRedirectJump()
821 if (!ChangeMemoryProtection(old_func, kJumpInstructionLength, &protection)) in OverrideFunctionWithRedirectJump()
825 WriteJumpInstruction(old_func, FIRST_32_SECOND_64(new_func, trampoline)); in OverrideFunctionWithRedirectJump()
828 if (!RestoreMemoryProtection(old_func, kJumpInstructionLength, protection)) in OverrideFunctionWithRedirectJump()
835 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithHotPatch() argument
838 uptr header = (uptr)old_func - kHotPatchHeaderLen; in OverrideFunctionWithHotPatch()
842 size_t instruction_size = GetInstructionSize(old_func); in OverrideFunctionWithHotPatch()
844 !FunctionHasPadding(old_func, kHotPatchHeaderLen)) in OverrideFunctionWithHotPatch()
850 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithHotPatch()
853 if (!CopyInstructions(trampoline, old_func, instruction_size)) in OverrideFunctionWithHotPatch()
856 old_func + instruction_size); in OverrideFunctionWithHotPatch()
863 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithHotPatch()
875 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithHotPatch()
885 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithTrampoline() argument
894 instructions_length = RoundUpToInstrBoundary(kBranchLength, old_func); in OverrideFunctionWithTrampoline()
900 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithTrampoline()
903 if (!CopyInstructions(trampoline, old_func, instructions_length)) in OverrideFunctionWithTrampoline()
906 old_func + instructions_length); in OverrideFunctionWithTrampoline()
913 if (IsMemoryPadding(old_func - kAddressLength, kAddressLength)) { in OverrideFunctionWithTrampoline()
914 indirect_address = old_func - kAddressLength; in OverrideFunctionWithTrampoline()
917 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithTrampoline()
924 uptr patch_address = old_func - padding_length; in OverrideFunctionWithTrampoline()
931 WriteBranch(old_func, indirect_address, new_func); in OverrideFunctionWithTrampoline()
941 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunction() argument
943 if (OverrideFunctionWithDetour(old_func, new_func, orig_old_func)) in OverrideFunction()
946 if (OverrideFunctionWithRedirectJump(old_func, new_func, orig_old_func)) in OverrideFunction()
948 if (OverrideFunctionWithHotPatch(old_func, new_func, orig_old_func)) in OverrideFunction()
950 if (OverrideFunctionWithTrampoline(old_func, new_func, orig_old_func)) in OverrideFunction()