Method to Insure that all Imprecise Floating-Point Signals are Delivered before Program Exit
Original Publication Date: 1994-Jul-01
Included in the Prior Art Database: 2005-Mar-27
Linam, SD: AUTHOR [+2]
AbstractDisclosed is a software method to insure that all floating point traps are reported before a program exits on processors which support imprecise floating point exceptions.
Method to Insure that all Imprecise Floating-Point
Signals are Delivered
before Program Exit
a software method to insure that all floating
point traps are reported before a program exits on processors which
support imprecise floating point exceptions.
models of the RISC System/6000* implement imprecise
floating-point interrupts. "Imprecise" means that several
instructions can execute between an instruction which would cause a
floating-point exception and the hardware actually reporting that
exception by an interrupt. This means that a timing condition can
exist where a program could never have the last floating-point
interrupt reported before the program exits.
subroutine (fp_flush_imprecise) is provided by the AIX*
operating system which has a sequence of instructions that guarantee
that all pending imprecise interrupts are reported immediately.
subroutine is used in conjunction with an AIX facility
called atexit(). atexit() allows the user to register certain code
which should be run immediately before the program exits. A program
which uses imprecise floating-point interrupts uses the atexit()
facility to register the fp_flush_imprecise() subroutine to run just
before program exit. This will insure that all imprecise
floating-point interrupts are delivered.
* Trademark of IBM Corp.