Patent ID: 8001421

Claim:
A tangible, non-transitory computer-readable medium including program code which, when executed by a computing device, causes the computing device to: detect a first transaction to be executed by a first thread of a processing system of the computing device; determine a first storage element associated with the first transaction to be checkpointed; insert a first operation in the first transaction to store an original value to be held in the first storage element to a second storage element; insert a second operation in the first transaction to restore the original value from the second storage element to the first storage element in response to an abort event in the first transaction; determine a live-in operation is to be performed before the first transaction, wherein the result of the live-in operation is to be held in the first live-in storage element; determine the live-in operation is also to be performed in the first transaction and the result of the live-in operation is to be held in a third storage element; and replace the live-in operation in the first transaction with a third operation to copy the result of the live-in operation to be held in the first live-in storage element to the third storage element in response to determining the live-in operation is to be performed before the first transaction, the live-in operation is also to be performed in the first transaction, and the result of the live-in operation is to be held in a third storage element.