Pin: building customized program analysis tools with dynamic instrumentation
An API for Runtime Code Patching