1. A machine implemented method, comprising: linking first object code and second object code into a binary file, wherein: the first object code is created by compiling a source code of a computer program; and the second object code comprises a first set of instrumentation code that is not referenced by any instructions in the first object code; storing the binary file; and inserting a profile section comprising one or more profile counters in the binary file after the binary file is stored, wherein when a second set of instrumentation code that references the first set of instrumentation code is executed as part of executing the binary file, the second set of instrumentation code modifies the one or more profile counters, wherein the second object code further comprises a first variable, wherein the value of the first variable indicates whether the second set of instrumentation code has been inserted in the binary file after the binary file is stored.