1. A method for flushing speculative instructions previously dispatched for execution in a processing device, comprising: undoing changes in a state of the processing device caused by the speculative instructions, the undoing performed instruction-by-instruction in reverse program order beginning with a youngest speculative instruction along an incorrectly predicted instruction path; and concurrently deallocating resources previously allocated to the speculative instructions.