Lines Matching refs:jump
65 'no-op' in the straight-line codepath with a 'jump' instruction to the
70 This lowlevel patching mechanism is called 'jump label patching', and it gives
142 4) Architecture level code patching interface, 'jump labels'
147 simply fall back to a traditional, load, test, and jump sequence.
166 5) Static keys / jump label analysis, results (x86_64):
186 The resulting instructions with jump labels generated by GCC is:
206 Without the jump label optimization it looks like:
230 Thus, the disable jump label case adds a 'mov', 'test' and 'jne' instruction
231 vs. the jump label case just has a 'no-op' or 'jmp 0'. (The jmp 0, is patched
232 to a 5 byte atomic no-op instruction at boot-time.) Thus, the disabled jump
235 6 (mov) + 2 (test) + 2 (jne) = 10 - 5 (5 byte jump 0) = 5 addition bytes.
237 If we then include the padding bytes, the jump label code saves, 16 total bytes
238 of instruction memory for this small function. In this case the non-jump label
249 jump label disabled:
266 jump label enabled: