One embodiment of the invention is a method for handling an interruption
during execution of an application on a computer system that uses a
register stack, the method comprising receiving the interruption by a
hypervisor, sending the interruption to an operating system for handling;
if the register stack has a fault, then generating, by the operating
system, another interruption that is delivered to the hypervisor; after
receiving the another interruption, covering, by the hypervisor, the
register stack; after covering the register stack, sending the
interruption to the operating system for handling; and after handling,
returning to execution of the application.