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, wherein detecting the occurrence of the predetermined operating condition involves determining that a given queue for the processor, which comprises at least one of a store queue for stores and a deferred queue, is likely to be unavailable for future speculative use by using a number of instructions in a pipeline in the processor that will use a slot in the given queue, wherein using the number of instructions in the pipeline comprises performing a computation using a number of outstanding stores in the pipeline and a number of stores in the store queue.