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
211 5) Static keys / jump label analysis, results (x86_64):
231 The resulting instructions with jump labels generated by GCC is::
251 Without the jump label optimization it looks like::
275 Thus, the disable jump label case adds a 'mov', 'test' and 'jne' instruction
276 vs. the jump label case just has a 'no-op' or 'jmp 0'. (The jmp 0, is patched
277 to a 5 byte atomic no-op instruction at boot-time.) Thus, the disabled jump
280 6 (mov) + 2 (test) + 2 (jne) = 10 - 5 (5 byte jump 0) = 5 addition bytes.
282 If we then include the padding bytes, the jump label code saves, 16 total bytes
283 of instruction memory for this small function. In this case the non-jump label
294 jump label disabled::
311 jump label enabled::