Patent ID: 8521961

Claim:
A method, in a data processing system, for generating checkpoints in a speculative versioning cache of the data processing system, the method comprising: executing, by at least one processor of the data processing system, code within the data processing system, wherein the code accesses cache lines in the speculative versioning cache; determining, by the data processing system, whether a first condition occurs indicating a need to generate a checkpoint in the speculative versioning cache, wherein the checkpoint is one or more speculative cache lines which store state information for purposes of performing a roll-back operation to invalidate changes to cache lines corresponding to the one or more speculative cache lines in response to a second condition occurring; and generating the checkpoint in the speculative versioning cache in response to a determination that the first condition has occurred, wherein the speculative versioning cache is a cache that stores multiple versions of a same cache content, one for each speculative execution, and wherein the speculative versioning cache comprises a first portion for storing non-speculative cache lines associated with read/load operations and a second portion for storing speculative cache lines associated with write/store operations.