Patent ID: 8176480

Claim:
A computer system comprising: a processor; a compiler; and a profiler, wherein the profiler is configured to: insert one or more instrumentation instructions in an application to form an instrumented application; (i) execute the instrumented application; (ii) detect a condition during execution of the instrumented application wherein execution of one or more instrumented portions of code in the instrumented application are exhibiting excessive performance latency; and (iii) in response to detecting said condition: identify the one or more instrumented portions of code within the application that corresponds to the detected condition; and dynamically instrument the identified one or more instrumented portions of code during runtime by: inserting one or more additional instrumentation instructions in the identified one or more instrumented portions of code; and conveying a request for recompilation of the identified one or more instrumented portions of code with the additional one or more instrumentation instructions; wherein the profiler is configured to repeat performance of (i), (ii), and (iii) as needed to identify a particular portion of the identified one or more instrumented portions of code which are contributing to the excessive performance latency.