Lines Matching refs:old_func

646     uptr old_func, uptr new_func, uptr *orig_old_func) {  in OverrideFunctionWithDetour()  argument
650 uptr header = (uptr)old_func - kDetourHeaderLen; in OverrideFunctionWithDetour()
654 if (*(u16*)old_func != kDetourInstruction || in OverrideFunctionWithDetour()
667 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithDetour()
674 *orig_old_func = old_func + kShortJumpInstructionLength; in OverrideFunctionWithDetour()
681 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithRedirectJump() argument
683 if (*(u8*)old_func != 0xE9) in OverrideFunctionWithRedirectJump()
687 uptr relative_offset = *(u32*)(old_func + 1); in OverrideFunctionWithRedirectJump()
688 uptr absolute_target = old_func + relative_offset + kJumpInstructionLength; in OverrideFunctionWithRedirectJump()
694 uptr trampoline = AllocateMemoryForTrampoline(old_func, kDirectBranchLength); in OverrideFunctionWithRedirectJump()
702 if (!ChangeMemoryProtection(old_func, kJumpInstructionLength, &protection)) in OverrideFunctionWithRedirectJump()
706 WriteJumpInstruction(old_func, FIRST_32_SECOND_64(new_func, trampoline)); in OverrideFunctionWithRedirectJump()
709 if (!RestoreMemoryProtection(old_func, kJumpInstructionLength, protection)) in OverrideFunctionWithRedirectJump()
716 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithHotPatch() argument
719 uptr header = (uptr)old_func - kHotPatchHeaderLen; in OverrideFunctionWithHotPatch()
723 size_t instruction_size = GetInstructionSize(old_func); in OverrideFunctionWithHotPatch()
725 !FunctionHasPadding(old_func, kHotPatchHeaderLen)) in OverrideFunctionWithHotPatch()
731 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithHotPatch()
734 if (!CopyInstructions(trampoline, old_func, instruction_size)) in OverrideFunctionWithHotPatch()
737 old_func + instruction_size); in OverrideFunctionWithHotPatch()
744 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithHotPatch()
756 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithHotPatch()
766 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithTrampoline() argument
775 instructions_length = RoundUpToInstrBoundary(kBranchLength, old_func); in OverrideFunctionWithTrampoline()
781 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithTrampoline()
784 if (!CopyInstructions(trampoline, old_func, instructions_length)) in OverrideFunctionWithTrampoline()
787 old_func + instructions_length); in OverrideFunctionWithTrampoline()
794 if (IsMemoryPadding(old_func - kAddressLength, kAddressLength)) { in OverrideFunctionWithTrampoline()
795 indirect_address = old_func - kAddressLength; in OverrideFunctionWithTrampoline()
798 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithTrampoline()
805 uptr patch_address = old_func - padding_length; in OverrideFunctionWithTrampoline()
812 WriteBranch(old_func, indirect_address, new_func); in OverrideFunctionWithTrampoline()
822 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunction() argument
824 if (OverrideFunctionWithDetour(old_func, new_func, orig_old_func)) in OverrideFunction()
827 if (OverrideFunctionWithRedirectJump(old_func, new_func, orig_old_func)) in OverrideFunction()
829 if (OverrideFunctionWithHotPatch(old_func, new_func, orig_old_func)) in OverrideFunction()
831 if (OverrideFunctionWithTrampoline(old_func, new_func, orig_old_func)) in OverrideFunction()