The adaptive function cloning technique relocates function images to make them adaptively updateable. A series of checks safeguard from and can handle potentially unsafe relocations, such as:
Backward branches.
Data-in-code.
Outbound branches.
Indirect outbound branches.
Multiple entrypoints.