1. A method for generating a checkpoint in a processor, comprising: while the processor is speculatively executing instructions with one or more checkpoints in use: upon detecting an occurrence of a predetermined operating condition, determining if an additional checkpoint is to be generated by: computing a factor based on one or more operating conditions of the processor; and when the factor is greater than a predetermined value, generating the additional checkpoint.