Computer-implemented exception handling system and method
AssigneeSAS Institute Inc.
InventorSteven E. Krueger
Life of this patent
Estimating the term…
Abstract
A computer-implemented system and method for handling run-time exceptions. Source code is provided as input to a compiler. The source code includes an exception branching statement and an exception catching statement. The compiler generates machine code from the source code. During execution of the machine code, an exception occurs and execution branches to the exception catching statement in accordance with the exception branching statement.
Claims20
A computer-implemented method for handling run-time exceptions, comprising the steps of:
- (a) receiving source code that includes higher order computer language statements, wherein the statements include an exception branching statement and an exception catching statement;
- (b) compiling the received source code into machine code and storing the machine code in a non-volatile storage medium;
- (c) executing the machine code,
- wherein upon an exception occurring, execution of the executing machine code branches to the exception catching statement in accordance with the exception branching statement;
- wherein upon an exception happening, an exception signal handler allows execution to resume at recovery code associated with the exception catching statement;
- wherein the exception signal handler comprises software instructions;
- wherein the exception signal handler allows execution to resume at the recovery code by placing a value stored from the exception branching statement into a program counter slot of an exception context structure that was passed to the exception signal handler.
A computer-implemented system for handling run-time exceptions, comprising:
- means for compiling source code into machine code and storing the machine code in a non-volatile storage medium, wherein the source code includes higher order computer language statements, wherein the statements include an exception branching statement and an exception catching statement;
- and
- means for branching to the exception catching statement in accordance with the exception branching statement upon an exception occurring during execution of the machine code;
- wherein upon an exception happening, an exception signal handler allows execution to resume at recovery code associated with the exception catching statement;
- wherein the exception signal handler comprises software instructions;
- wherein the exception signal handler allows execution to resume at the recovery code by placing a value stored from the exception branching statement into a program counter slot of an exception context structure that was passed to the exception signal handler.
A computer-implemented apparatus for handling run-time exceptions of machine code, wherein the machine code was compiled from source code and stored on a non-volatile storage device, wherein the source code includes higher order computer language statements, wherein the statements include an exception branching statement and an exception catching statement, said apparatus comprising:
- an exception signal handling means for allowing execution to resume at recovery code associated with the exception catching statement,
- means for branching to the exception catching statement in accordance with the exception branching statement upon an exception occurring during execution of the machine code;
- wherein upon an exception happening, the exception signal handling means allows execution to resume at recovery code associated with the exception catching statement;
- wherein the exception signal handling means comprises software instructions;
- wherein the exception signal handling means allows execution to resume at the recovery code by placing a value stored from the exception branching statement into a program counter slot of an exception context structure that was passed to the exception signal handler;
- wherein the execution of the machine code is non-speculative, and exceptions are handled without in-line re-execution of speculative code.
A computer-implemented apparatus for handling run-time exceptions, comprising a compiler that compiles source code into machine code and stores the machine code in a non-volatile storage medium, wherein the source code includes higher order computer language statements, wherein the statements include an exception branching statement and an exception catching statement, wherein the machine code that is generated by the compiler is to include an exception signal handler that allows execution to resume at recovery code associated with the exception catching statement upon occurrence of a runtime exception, wherein reduced context information is stored allowing the execution to resume at recovery code associated with the exception catching statement.
Dependencies are inferred from the claim text.