1. A method for facilitating lazy register window fills, comprising: while executing a program, upon encountering a restore instruction for a register window, determining if the restore instruction causes an underflow condition that requires the register window to be filled from a stack in memory; and if the restore instruction causes an underflow condition, completing the restore instruction by updating state information for the register window to indicate that the restore instruction is complete without actually filling individual registers that comprise the register window from the stack, and during subsequent program execution, lazily filling registers in the register window from the stack as the registers are accessed by the program by: keeping track of which registers in the register window are valid by keeping track of which registers have been filled from the stack or have been updated during program execution; and upon encountering an instruction that loads from a register in the register window, determining if the register is valid, and if not filling the register from the stack before the instruction loads from the register by inserting a fill instruction for the register into an execution pipeline ahead of the instruction that loads from the register.