Level 4 interrupt has a chance of preempting a window overflow or
underflow exception. Therefore it is not possible to use standard
context save functions, as the SP on entry to Level 4 interrupt may
be invalid (e.g. in WindowUnderflow4).
Instead, mask window overflows and save the entire general purpose
register file, plus some of the special registers. Then clear
WindowStart, allowing the C handler to execute without spilling the
old windows. On exit from the interrupt handler, do everything
in reverse.