Patent ID: 7747989

Claim:
A system, comprising: an execution trace buffer configured to store information to facilitate dynamic compilation; wherein the information to facilitate dynamic compilation includes data records corresponding to basic blocks of the abstract machine instruction stream, the data records including an identifier field indicating a basic block, a counter field indicating the number of times the basic block has been executed, and a successor field indicating one or more successive basic blocks; a virtual machine coprocessor configured to receive an instruction from an abstract machine instruction stream where it is determined that the instruction marks entry into the basic blocks when a new program counter has been activated or when a conditional branch condition has been cleared and to generate one or more native machine instructions using the information stored in the execution trace buffer in response to the received instruction, wherein the information is based on one or more previously executed native machine instructions; and a processor coupled to the virtual machine coprocessor, the processor operable to execute the one or more native machine instructions generated by the virtual machine coprocessor, wherein the virtual machine coprocessor updates the information stored in the execution trace buffer as instructions from the abstract machine instruction stream are processed.