1. A method comprising: in response to detecting at least one condition is met: creating a checkpoint of a current state of a thread; and moving at least one incomplete instruction from a first level of a re-order buffer to a second level of the re-order buffer, wherein each incomplete instruction is one of currently executing and awaiting execution.