Claims Analysis
Total Claims: 43
Claim 1
Independent Claim
230 words
In a development system for compiling source listings into program code for operating a digital computer, said digital computer having a microprocessor and a system memory, said source listings comprising data and functions operative on said data, some of said data being stored in stack-based variables which are local to a particular function, an improved method for registering an exception handler with the computer, the method comprising: (a) allocating a portion of said system memory to be stack memory, for last-in, first-out storage of stack-based variables associated with functions; and (b) for at least one function executed during runtime operation of the program code, registering an exception handler with the computer by: (i) storing in said stack memory all stack-based variables associated with said at least one function, and (ii) after storage of all stack-based variables associated with said at least one function, pushing an exception registration record onto said stack memory describing a particular exception handler which is to be invoked upon occurrence of any exceptions which arise during operation of said at least one function, paid exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing a particular exception handler is stored on one end of said stack memory during execution of said at least one function.
Claim 2
Dependent Claim
230 words
In a development system for compiling source listings into program code for operating a digital computer, said digital computer having a microprocessor and a system memory, said source listings comprising data and functions operative on said data, some of said data being stored in stack-based variables which are local to a particular function, an improved method for registering an exception handler with the computer, the method comprising: (a) allocating a portion of said system memory to be stack memory, for last-in, first-out storage of stack-based variables associated with functions; and (b) for at least one function executed during runtime operation of the program code, registering an exception handler with the computer by: (i) storing in said stack memory all stack-based variables associated with said at least one function, and (ii) after storage of all stack-based variables associated with said at least one function, pushing an exception registration record onto said stack memory describing a particular exception handler which is to be invoked upon occurrence of any exceptions which arise during operation of said at least one function, paid exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing a particular exception handler is stored on one end of said stack memory during execution of said at least one function.
Claim 3
Dependent Claim
43 words
The method of claim 1, wherein said exception registration record describing a particular exception handler includes a function pointer to a handler function which is to be invoked upon occurrence of any exceptions which arise during operation of said at least one function.
Claim 4
Dependent Claim
28 words
The method of claim 1, wherein said exception registration record further stores context information indicating a current context for the computer during execution said at least one function.
Claim 5
Dependent Claim
31 words
The method of claim 1, wherein said context information stores an offset into a context table describing a current context for the computer during execution of said at least one function.
Claim 6
Dependent Claim
22 words
The method of claim 4, wherein said context table comprises entries describing exception handling constructs present in said at least one function.
Claim 7
Dependent Claim
36 words
The method of claim 5, wherein each said entry of said context table is referenced via a byte offset of the entry in the table, so that variable-length entries can be stored in said context table.
Claim 8
Dependent Claim
25 words
The method of claim 1, further comprising: resetting information stored in said exception registration record by pushing a value of zero onto said stack memory.
Claim 9
Dependent Claim
61 words
The method of claim 1, wherein step (b) (ii) includes: pushing context information onto said stack memory, said context information indicating a current context for the computer during execution of said at least one function; pushing an address of said particular exception handler onto said stack memory; and pushing said pointer to a previous exception registration record onto said stack memory.
Claim 10
Dependent Claim
57 words
The method of claim 1, wherein in step (a) said stack memory is allocated so that said stack memory grows downward in system memory, and wherein in step (b) (ii) said exception registration record describing a particular exception handler is stored at a bottom-most portion of said stack memory during execution of said at least one function.
Claim 11
Dependent Claim
57 words
The method of claim 1, wherein in step (a) said stack memory is allocated so that said stack memory grows upward in system memory, and wherein in step (b) (i) said exception registration record describing a particular exception handler is stored at a top-most portion of said stack memory during execution of said at least one function.
Claim 12
Dependent Claim
45 words
The method of claim 1, wherein step (b) (i) includes storing in said stack memory all stack-based variables associated with said at least one function by executing a "push" machine instruction of said microprocessor for each stack-based variable associated with said at least one function.
Claim 13
Dependent Claim
59 words
The method of claim 11, wherein step (b) (ii) includes storing said exception registration record describing a particular exception handler by executing one or more "push" machine instructions of said microprocessor, so that said stack-based variables and said exception registration record describing a particular exception handler are stored on said stack memory by a sequence of "push" machine instructions.
Claim 14
Dependent Claim
32 words
The method of claim 12, further comprising: upon completing execution of said at least one function, removing said exception registration record by executing one or more "pop" machine instructions of said microprocessor.
Claim 15
Dependent Claim
65 words
The method of claim 13, further comprising: upon removing said exception registration record from said stack memory, removing each stack-based variable associated with said at least one function by executing a "pop" machine instruction of said microprocessor, so that said stack-based variables and said exception registration record describing a particular exception handler are removed from said stack memory by a sequence of "pop" machine instructions.
Claim 16
Dependent Claim
89 words
The method of claim 1, wherein said microprocessor includes at least one stack register for storing an address indicating a location of said stack memory where new data can be stored, and wherein step (b) (ii) includes: storing said exception registration record describing a particular exception handler which is to be invoked upon occurrence of any exceptions which arise during operation of said at least one function, so that said at least one stack register stores an address pointing to said exception registration record describing a particular exception handler.
Claim 17
Dependent Claim
22 words
The method of claim 1, wherein step (b) (i) is performed during execution of prologue instructions for said at least one function.
Claim 18
Dependent Claim
22 words
The method of claim 15, wherein said removing step is performed during execution of epilogue instructions for said at least one function.
Claim 19
Dependent Claim
18 words
The method of claim 1, wherein said source listings include C++ source listings having C++ exception handling constructs.
Claim 20
Dependent Claim
16 words
The method of claim 1, wherein said exceptions comprise runtime errors which occur during program execution.
Claim 21
Dependent Claim
13 words
The method of claim 19, wherein said runtime errors include file input/output error.
Claim 22
Dependent Claim
14 words
The method of claim 19, wherein said runtime errors include memory access violation errors.
Claim 23
Dependent Claim
17 words
The method of claim 19, wherein said runtime errors include operations trapped as invalid by said microprocessor.
Claim 24
Independent Claim
176 words
A system for developing compiled computer code, the system comprising: a computer having a microprocessor and a memory, said memory including a stack memory for storing function arguments and local data; a compiler for generating computer code from source listings, said source listings including definitions of functions some of which include exception handling constructs; means, operably coupled to said compiler, for identifying by the system a function having an exception handling construct, said exception handling construct specifying that a particular exception handler is to be invoked upon occurrence of an exception which arises during operation of said function; and means for storing on said stack memory at a location after function arguments and local data for the function an exception registration record describing said particular exception handler, said exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing said particular exception handler resides at one end of said stack memory during execution of the function.
Claim 25
Independent Claim
176 words
A system for developing compiled computer code, the system comprising: a computer having a microprocessor and a memory, said memory including a stack memory for storing function arguments and local data; a compiler for generating computer code from source listings, said source listings including definitions of functions some of which include exception handling constructs; means, operably coupled to said compiler, for identifying by the system a function having an exception handling construct, said exception handling construct specifying that a particular exception handler is to be invoked upon occurrence of an exception which arises during operation of said function; and means for storing on said stack memory at a location after function arguments and local data for the function an exception registration record describing said particular exception handler, said exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing said particular exception handler resides at one end of said stack memory during execution of the function.
Claim 26
Dependent Claim
40 words
The system of claim 23, wherein said exception registration record describing said particular exception handler includes a function pointer to a handler function which is to be invoked upon occurrence of any exceptions which arise during operation of the function.
Claim 27
Dependent Claim
40 words
The system of claim 23, wherein said exception registration record stores an address of a handler routine which is to handle any exceptions which arise and context information indicating a current context for the computer during execution of the function.
Claim 28
Dependent Claim
47 words
The system of claim 23, wherein said stack memory is allocated so that said stack memory grows downward in system memory, and wherein said exception registration record describing said particular exception handler is stored at a bottom-most portion of said stack memory during execution of the function.
Claim 29
Dependent Claim
47 words
The system of claim 23, wherein said stack memory is allocated so that said stack memory grows upward in system memory, and wherein said exception registration record describing said particular exception handler is stored at a top-most portion of said stack memory during execution of the function.
Claim 30
Dependent Claim
31 words
The system of claim 23, wherein in said stack memory all function arguments and local data associated with the function are stored by executing a stack-processing machine instruction of said microprocessor.
Claim 31
Dependent Claim
22 words
The system of claim 28, wherein said microprocessor is an 80×86-compatible microprocessor and stack-processing machine instruction is a 80×86 "push" machine instruction.
Claim 32
Dependent Claim
61 words
The system of claim 28, wherein said exception registration record describing said particular exception handler is stored by executing one or more "push" machine instructions of said microprocessor, so that function arguments and local data for the function and said exception registration record describing said particular exception handler are stored on said stack memory by a sequence of "push" machine instructions.
Claim 33
Dependent Claim
20 words
The system of claim 30, further comprising: means for removing said exception registration record upon completing execution of the function.
Claim 34
Dependent Claim
31 words
The system of claim 31, wherein said means for removing said exception registration record includes means for removing said exception registration record by executing a "pop" machine instruction of the microprocessor.
Claim 35
Dependent Claim
62 words
The system of claim 31, further comprising: means for removing said function arguments and local data for the function by executing a "pop" machine instruction of said microprocessor, so that said function arguments and local data for the function and said exception registration record describing said particular exception handler are removed from said stack memory by a sequence of "pop" machine instructions.
Claim 36
Dependent Claim
67 words
The system of claim 23, wherein said microprocessor includes at least one stack register for storing an address indicating a location of said stack memory where new data can be stored, and wherein said exception registration record describing said particular exception handler is stored on said stack memory at a location where said at least one stack register points to said information during execution of the function.
Claim 37
Dependent Claim
18 words
The system of claim 23, wherein said source listings include C++ source listings having C++ exception handling constructs.
Claim 38
Dependent Claim
16 words
The system of claim 23, wherein said exceptions comprise runtime errors which occur during program execution.
Claim 39
Dependent Claim
206 words
In a development system for compiling source listings into a computer program for operating a digital computer, said digital computer having a microprocessor and a system memory, said source listings comprising data and code operative on said data, portions of said code having exception handling constructs, an improved method for registering an exception handler with the computer, the method comprising: (a) allocating a portion of said system memory to be stack memory, for last-in, first-out storage of information; and (b) for a portion of code executed during runtime which includes an exception handling construct, registering an exception handler with the computer by: (i) storing in said stack memory any stack-based variables associated with said portion of code, and (ii) after storage of said stack-based variables, storing an exception registration record describing a particular exception handler which is to be invoked upon occurrence of any exceptions which arise during operation of said portion of code, said exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing a particular exception handler is stored on one end of said stack memory during execution of said portion of code.
Claim 40
Dependent Claim
206 words
In a development system for compiling source listings into a computer program for operating a digital computer, said digital computer having a microprocessor and a system memory, said source listings comprising data and code operative on said data, portions of said code having exception handling constructs, an improved method for registering an exception handler with the computer, the method comprising: (a) allocating a portion of said system memory to be stack memory, for last-in, first-out storage of information; and (b) for a portion of code executed during runtime which includes an exception handling construct, registering an exception handler with the computer by: (i) storing in said stack memory any stack-based variables associated with said portion of code, and (ii) after storage of said stack-based variables, storing an exception registration record describing a particular exception handler which is to be invoked upon occurrence of any exceptions which arise during operation of said portion of code, said exception registration record storing a pointer to a previous exception registration record registered for another function whose execution has begun but has yet to complete, wherein said exception registration record describing a particular exception handler is stored on one end of said stack memory during execution of said portion of code.
Claim 41
Dependent Claim
24 words
The method of claim 37, wherein said portion of code comprises a function and wherein said stack-based variables comprise data local to said function.
Claim 42
Dependent Claim
20 words
The method of claim 37, wherein said portion of code comprises only a subset of instructions taken from a function.
Claim 43
Dependent Claim
21 words
The method of claim 37, wherein said portion of code comprises only those instructions associated directly with said exception handling construct.