Patent ID: 7853827

Claim:
A method for restoring a computer processor to a previous state, the method comprising: receiving a plurality of processor instructions for a process; storing the plurality of processor instructions in a processor instruction pushdown stack, each of the plurality of instructions including an associated memory location, a register value, and an instruction count, the instruction count being representative of a position of a processor instruction relative to a previous processor instruction; detecting an execution error of a processor instruction execution; determining a location of the execution error within the processor instruction pushdown stack, the location of the error determined by the instruction count of the processor instruction including the execution error; providing a notification of the location of the execution error within the processor instruction pushdown stack, the notification including at least the instruction count of the processor instruction including the execution error or a value representing a sum of a subset of the plurality of processor instructions executed subsequent to the processor instruction including the execution error, further including: determining the sum of the subset of the plurality of processor instructions executed subsequent to the processor instruction including the execution error by subtracting the instruction count of the processor instruction including the execution error from an instruction count of a most recently received processor instruction; receiving a reverse instruction to reverse the subset of the plurality of processor instructions executed subsequent to the processor instruction including the execution error; and reversing the subset of the plurality of processor instructions executed subsequent to the processor instruction including the execution error such that the process comprised of a series of processor instructions is stopped and reversed upon the execution error so as to restore the process to before the processor instruction prior to a first instruction that caused the execution error.