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