1. A data processing system comprising: at least one processor; a bus coupled to the at least one processor; and at least one computer usable storage medium coupled to the bus, wherein the at least one computer usable storage medium contains a set of instructions for making a desirable modification, without use of a self-loop, to a site in a code region forming part of a computer program during execution of the computer program by a plurality of threads, wherein the at least one processor is adapted to carry out the set of instructions by causing the data processing system to provide identical modification instructions to each thread for modifying the site in the code region, wherein the modification instructions direct each thread to make the desirable modification using an idempotent atomic instruction and wherein the idempotent atomic instruction is generated to ensure that the desirable modification does not cross a patching boundary by NOP insertion.