Patent ID: 7865703
Filing Date: 2011-01-04
Classification: G06F

Abstract:
1. A computer implemented method for executing instructions by a computer, the computer implemented method comprising: determining by a processor executing a plurality of instructions whether the computer is in an instrumentation mode, wherein the computer has a normal set of resources and an alternate set of resources associated with the instrumentation mode; responsive to the computer being in the instrumentation mode, concurrently executing instrumentation instructions in the plurality of instructions using the alternate set of resources while executing all other instructions in the plurality of instructions using the normal set of resources; identifying a second processor to use to execute the instrumentation instructions using a field in a register in the processor, wherein an identifier of the second processor is stored in the field; wherein the normal set of resources comprises the processor and the processor includes a mode control indicator, wherein the alternate set of resources comprises the second processor, wherein the processor uses the mode control indicator in the determining whether the computer is in the instrumentation mode, and wherein the instrumentation instructions are executed by the second processor responsive to the computer being in the instrumentation mode; packaging an architectural context of the processor and access control for use by the second processor, wherein the architectural context includes a state of the processor's registers including a state of at least one of the processor's general purpose registers and a state of at least one of the processor's floating pointing registers; sending, by the processor, the packaged architectural context and access control to the second processor to use when executing the instrumentation instructions; and wherein the instrumentation instructions are a set of trace instructions used to obtain trace data about operations and events that occur during concurrent execution of at least some of the all other instructions using the normal set of resources, wherein the instrumentation instructions include a profiler that extracts and stores regular and reoccurring operations and events that occur during the execution of the at least some of the all other instructions to form profiling data.