Lines Matching full:jump
88 'no-op' in the straight-line codepath with a 'jump' instruction to the
93 This lowlevel patching mechanism is called 'jump label patching', and it gives
180 4) Architecture level code patching interface, 'jump labels'
185 simply fall back to a traditional, load, test, and jump sequence. Also, the
208 5) Static keys / jump label analysis, results (x86_64):
228 The resulting instructions with jump labels generated by GCC is::
248 Without the jump label optimization it looks like::
272 Thus, the disable jump label case adds a 'mov', 'test' and 'jne' instruction
273 vs. the jump label case just has a 'no-op' or 'jmp 0'. (The jmp 0, is patched
274 to a 5 byte atomic no-op instruction at boot-time.) Thus, the disabled jump
277 6 (mov) + 2 (test) + 2 (jne) = 10 - 5 (5 byte jump 0) = 5 addition bytes.
279 If we then include the padding bytes, the jump label code saves, 16 total bytes
280 of instruction memory for this small function. In this case the non-jump label
291 jump label disabled::
308 jump label enabled::