Lines Matching refs:old_func
700 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithDetour() argument
704 uptr header = (uptr)old_func - kDetourHeaderLen; in OverrideFunctionWithDetour()
708 if (*(u16*)old_func != kDetourInstruction || in OverrideFunctionWithDetour()
721 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithDetour()
728 *orig_old_func = old_func + kShortJumpInstructionLength; in OverrideFunctionWithDetour()
735 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithRedirectJump() argument
737 if (*(u8*)old_func != 0xE9) in OverrideFunctionWithRedirectJump()
741 uptr relative_offset = *(u32*)(old_func + 1); in OverrideFunctionWithRedirectJump()
742 uptr absolute_target = old_func + relative_offset + kJumpInstructionLength; in OverrideFunctionWithRedirectJump()
748 uptr trampoline = AllocateMemoryForTrampoline(old_func, kDirectBranchLength); in OverrideFunctionWithRedirectJump()
756 if (!ChangeMemoryProtection(old_func, kJumpInstructionLength, &protection)) in OverrideFunctionWithRedirectJump()
760 WriteJumpInstruction(old_func, FIRST_32_SECOND_64(new_func, trampoline)); in OverrideFunctionWithRedirectJump()
763 if (!RestoreMemoryProtection(old_func, kJumpInstructionLength, protection)) in OverrideFunctionWithRedirectJump()
770 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithHotPatch() argument
773 uptr header = (uptr)old_func - kHotPatchHeaderLen; in OverrideFunctionWithHotPatch()
777 size_t instruction_size = GetInstructionSize(old_func); in OverrideFunctionWithHotPatch()
779 !FunctionHasPadding(old_func, kHotPatchHeaderLen)) in OverrideFunctionWithHotPatch()
785 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithHotPatch()
788 if (!CopyInstructions(trampoline, old_func, instruction_size)) in OverrideFunctionWithHotPatch()
791 old_func + instruction_size); in OverrideFunctionWithHotPatch()
798 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithHotPatch()
810 WriteShortJumpInstruction(old_func, header); in OverrideFunctionWithHotPatch()
820 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunctionWithTrampoline() argument
829 instructions_length = RoundUpToInstrBoundary(kBranchLength, old_func); in OverrideFunctionWithTrampoline()
835 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length); in OverrideFunctionWithTrampoline()
838 if (!CopyInstructions(trampoline, old_func, instructions_length)) in OverrideFunctionWithTrampoline()
841 old_func + instructions_length); in OverrideFunctionWithTrampoline()
848 if (IsMemoryPadding(old_func - kAddressLength, kAddressLength)) { in OverrideFunctionWithTrampoline()
849 indirect_address = old_func - kAddressLength; in OverrideFunctionWithTrampoline()
852 indirect_address = AllocateMemoryForTrampoline(old_func, kAddressLength); in OverrideFunctionWithTrampoline()
859 uptr patch_address = old_func - padding_length; in OverrideFunctionWithTrampoline()
866 WriteBranch(old_func, indirect_address, new_func); in OverrideFunctionWithTrampoline()
876 uptr old_func, uptr new_func, uptr *orig_old_func) { in OverrideFunction() argument
878 if (OverrideFunctionWithDetour(old_func, new_func, orig_old_func)) in OverrideFunction()
881 if (OverrideFunctionWithRedirectJump(old_func, new_func, orig_old_func)) in OverrideFunction()
883 if (OverrideFunctionWithHotPatch(old_func, new_func, orig_old_func)) in OverrideFunction()
885 if (OverrideFunctionWithTrampoline(old_func, new_func, orig_old_func)) in OverrideFunction()