← Back to Patent Explorer
US5016164A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer system having delayed save on procedure calls

Assignee: Texas Instruments Inc
•
Filing: 1989-02-24
•
Granted: 1991-05-14
•
Expires: 2009-02-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In execution of PROLOG-type programs, certain information is not saved at the time a procedure call is made. Such information is saved only if it becomes necessary, and at that time is saved in a known manner. If subsequent events make it unnecessary to save that certain information, the time required to do so has not been spent, thus improving system performance.

Inventors

  • 👤 Aditya Srivastava

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 10:26
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/448; G06F9/4482; G06F9/4484; G06F9/4496

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 122 words
A method for making non-deterministic procedure calls in a computer system having a stack, comprising the steps of: (a) saving on said stack of said computer system a first portion of then existing information necessary to return operation of said computer system from the procedure calls; (b) entering the procedure; (c) after step (b), determining whether a second portion of information necessary to do backtracking must also be saved on the stack of said computer system, said second portion of information existing in said computer system at the time of entering the procedure; and (d) saving on the stack of said computer system or discarding said second portion of information necessary to do backtracking in accordance with the determination of step (c).
Claim 2
Independent Claim 122 words
A method for making non-deterministic procedure calls in a computer system having a stack, comprising the steps of: (a) saving on said stack of said computer system a first portion of then existing information necessary to return operation of said computer system from the procedure calls; (b) entering the procedure; (c) after step (b), determining whether a second portion of information necessary to do backtracking must also be saved on the stack of said computer system, said second portion of information existing in said computer system at the time of entering the procedure; and (d) saving on the stack of said computer system or discarding said second portion of information necessary to do backtracking in accordance with the determination of step (c).
Claim 3
Dependent Claim 22 words
The method of claim 1 wherein the first portion of information comprises local variables of the calling procedure and a return pointer.
Claim 4
Dependent Claim 31 words
The method of claim 1 wherein the second portion of information comprises contents of current system registers of said computer system and arguments which have been passed to the called procedure.
Claim 5
Independent Claim 123 words
A method for making procedure calls in a nondeterministic program in a computer system having a system stack, comprising the steps of: (a) saving a procedure frame, said procedure frame existing in said computer system and including information necessary to return from a procedure call, to said system stack of said computer system while in a calling procedure; (b) entering a called procedure; (c) executing an instruction which determines whether or not the called procedure is deterministic; and (d) if the called procedure is not deterministic, saving a choice point object on the system stack of the computer system, said choice point object existing in the computer system at the time of entering the called procedure and including information necessary to do backtracking.
Claim 6
Independent Claim 123 words
A method for making procedure calls in a nondeterministic program in a computer system having a system stack, comprising the steps of: (a) saving a procedure frame, said procedure frame existing in said computer system and including information necessary to return from a procedure call, to said system stack of said computer system while in a calling procedure; (b) entering a called procedure; (c) executing an instruction which determines whether or not the called procedure is deterministic; and (d) if the called procedure is not deterministic, saving a choice point object on the system stack of the computer system, said choice point object existing in the computer system at the time of entering the called procedure and including information necessary to do backtracking.
Claim 7
Dependent Claim 20 words
The method of claim 4 wherein the procedure frame contains local variables of the calling procedure and a return pointer.
Claim 8
Dependent Claim 33 words
The method of claim 4 wherein the choice-point object contains values of system registers of said computer system and an argument list which is passed from the calling procedure to the called procedure.
Claim 9
Dependent Claim 28 words
The method of claim 6 further comprising the step of: (e) prior to step (c), saving the argument list to a special memory location of said computer system.
Claim 10
Independent Claim 119 words
A method for making procedure calls in a computer system having a stack and using a non-deterministic programming language utilizing backtracking, comprising the steps of: (a) saving a return pointer and local variables of a calling procedure on said stack of said computer system, said return pointer and said local variables then existing in the computer system; (b) entering a called procedure; (c) executing an instruction which establishes the called procedure as deterministic or non-deterministic; and (d) if the called procedure is established to be non-deterministic, saving onto said stack of said computer system information which is necessary to do backtracking, said information necessary to do backtracking existing in said computer system at the time of entering the procedure.
Claim 11
Independent Claim 119 words
A method for making procedure calls in a computer system having a stack and using a non-deterministic programming language utilizing backtracking, comprising the steps of: (a) saving a return pointer and local variables of a calling procedure on said stack of said computer system, said return pointer and said local variables then existing in the computer system; (b) entering a called procedure; (c) executing an instruction which establishes the called procedure as deterministic or non-deterministic; and (d) if the called procedure is established to be non-deterministic, saving onto said stack of said computer system information which is necessary to do backtracking, said information necessary to do backtracking existing in said computer system at the time of entering the procedure.
Claim 12
Dependent Claim 21 words
The method of claim 8, wherein the information necessary to do backtracking includes an argument list passed from the calling procedure.

References Cited (Backward Citations)

US3659272A Cited
US4546432A Cited
US4567574A Cited
US4587628A Cited
JPS60157640A Cited
US4595981A Cited
US4649480A Cited
US4648044A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-05-13 1994-11-12 1995-05-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-05-13 1998-11-12 1999-05-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-05-13 2002-11-12 2003-05-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag