On 04/15/2016 06:29 PM, Alexander Monakov wrote: > Alternatively: replace first nop with a short forward branch that > jumps over the rest of the pad, patch rest of the pad, patch the > initial forward branch.
That may not be safe. Consider an implementation which looks ahead in the instruction stream and decodes the instructions speculatively. I suppse you could begin the block of instructions after the branch with an ISB. On balance, the trap sounds like the best plan. We do this in Java all the time: every method begins with a NOP, and we patch it either to a trap or to a call to the replacement code. Andrew.