Home | History | Annotate | Download | only in interception

Lines Matching refs:trampoline

22 // arbitrary branching on the whole memory space, the notion of trampoline
23 // region is used. A trampoline region is a memory space withing 2G boundary
51 // On an 64-bit architecture, a trampoline is inserted.
56 // [trampoline]
80 // [trampoline]
90 // [trampoline]
96 // 4) Trampoline
98 // The Trampoline hooking technique is the most aggressive one. It is
109 // [trampoline]
120 // [trampoline]
612 // If needed, get memory space for a trampoline jump.
613 uptr trampoline = AllocateMemoryForTrampoline(old_func, kDirectBranchLength);
614 if (!trampoline)
616 WriteDirectBranch(trampoline, new_func);
625 WriteJumpInstruction(old_func, FIRST_32_SECOND_64(new_func, trampoline));
648 // Put the needed instructions into the trampoline bytes.
650 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length);
651 if (!trampoline)
653 CopyInstructions(trampoline, old_func, instruction_size);
654 WriteDirectBranch(trampoline + instruction_size,
656 *orig_old_func = trampoline;
692 // to the trampoline.
697 // Put the needed instructions into the trampoline bytes.
699 uptr trampoline = AllocateMemoryForTrampoline(old_func, trampoline_length);
700 if (!trampoline)
702 CopyInstructions(trampoline, old_func, instructions_length);
703 WriteDirectBranch(trampoline + instructions_length,
705 *orig_old_func = trampoline;
710 // Otherwise, allocate it in the trampoline region.