1. A non-transitory machine readable storage medium storing a plurality of instructions that, in response to being executed, result in a computing device dynamically translating portions of a compiled program to transactional memory regions, and executing the transactional memory regions, wherein dynamically translating portions of the compiled program comprises identifying a hot code trace of the compiled program in response to executing the compiled program, identifying a beginning, an end and one or more side exits of the hot code trace, associating a transaction abort with each of the one or more side exits, determining a completion ratio for the hot code trace in response to executing the compiled program, and packaging the hot code trace into a set of operations whose results are to be committed atomically in response to the completion ratio having a predetermined relationship to a threshold ratio.