1. A processor, comprising: an execution pipeline configured to execute instructions for threads, wherein for each thread, an architectural state of the processor includes a set of register windows associated with nested procedure calls for the thread, wherein each register window contains registers for an associated procedure call; a physical register file (PRF) containing both speculative and architectural versions of registers, wherein the speculative versions of the registers have been modified but have not yet been committed to the architectural state of the processor; and wherein when a register-window-restore instruction that deallocates a register window enters the commit stage, the commit stage is configured to deallocate local and output registers for the deallocated register window from the PRF.