Patent ID: 7568088

Claim:
A method for managing speculative flags in a processor, the processor implemented within an integrated circuit and enabled to execute groups of actions having relative program order with respect to each other, the method comprising: managing the groups of actions as atomic elements that are either committed entirely or aborted entirely; allocating corresponding flag checkpoints to the groups of actions, the allocating setting the flag checkpoints to an invalid state; if execution of a specific one of the groups of actions having a specific one of the checkpoints allocated thereto produces one or more changes to speculative flags, then saving values of the speculative flags before the changes into the specific flag checkpoint, and setting the specific flag checkpoint to a valid state; and restoring, in response to an abort of the specific group of actions, the speculative flags based on searching for a first valid one of the flag checkpoints starting with the specific flag checkpoint and proceeding to the flag checkpoint corresponding to the group of actions that is the next younger of the groups of actions than the specific group of actions according to the relative program order.