Patent ID: 7665070

Claim:
A computer implemented method of executing a main program comprising a series of machine-executable instructions in one of a program binary representation and an object code representation, said method comprising: establishing a first pipeline for executing said main program; and establishing a second pipeline capable of executing, as a co-routine, a meta-program associated with the main program to fetch and store meta-program information of said executing main program, said meta-program information comprising at least one of an execution characteristic of said main program and a result of an analysis of said executing said main program, said meta-program performing the steps of: executing a monitoring instruction, the monitoring instruction monitoring one of a program counter of said main program to determine if a target program counter has been reached, and events in said main program to determine if a target event has occurred, generating a hold command for a main program instruction fetch if said target program counter or said target event is detected; executing one or more meta-program instructions; setting a new program counter for said main program; and resuming execution of said main program at said new program counter, wherein said one of said program binary representation and said object code representation is not modified by said establishing said second pipeline or by said executing said meta-program.