Home | History | Annotate | Download | only in interception

Lines Matching defs:trampoline

21 // arbitrary branching on the whole memory space, the notion of trampoline
22 // region is used. A trampoline region is a memory space withing 2G boundary
50 // On an 64-bit architecture, a trampoline is inserted.
55 // [trampoline]
79 // [trampoline]
89 // [trampoline]
95 // 4) Trampoline
97 // The Trampoline hooking technique is the most aggressive one. It is
108 // [trampoline]
119 // [trampoline]
744 // If needed, get memory space for a trampoline jump.
745 uptr trampoline = AllocateMemoryForTrampoline(old_func, kDirectBranchLength);
746 if (!trampoline)
748 WriteDirectBranch(trampoline, new_func);
757 WriteJumpInstruction(old_func, FIRST_32_SECOND_64(new_func, trampoline));
780 // Put the needed instructions into the trampoline bytes.
782 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length);
783 if (!trampoline)
785 if (!CopyInstructions(trampoline, old_func, instruction_size))
787 WriteDirectBranch(trampoline + instruction_size,
789 *orig_old_func = trampoline;
825 // to the trampoline.
830 // Put the needed instructions into the trampoline bytes.
832 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length);
833 if (!trampoline)
835 if (!CopyInstructions(trampoline, old_func, instructions_length))
837 WriteDirectBranch(trampoline + instructions_length,
839 *orig_old_func = trampoline;
844 // Otherwise, allocate it in the trampoline region.