US5848274A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Incremental byte code compilation system
Assignee: Open Invention Network LLC
•
Filing: 1996-05-10
•
Granted: 1998-12-08
•
Expires: 2016-05-10
Abstract
Abstract An incremental byte code compiler which provides a high-performance execution environment for dynamically linked languages and for distributed target-independent applications. The execution environment provided by the present invention includes an incremental byte code compiler for generating IL symbols and code objects from a byte code source file, a persistent symbol table for storing the IL symbols and code objects, and an incremental imager for dynamically forming the image of the program from the code objects. The present invention further provides an extremely efficient methodology for dynamically adding program elements to a program under execution.
Inventors
- 👤 John Hamby
- 👤 Niklas Gustafsson
- 👤 Patrick Lau
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 07:58
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/48; G06F11/00; G06F11/36; G06F11/3698; G06F8/70; G06F8/71; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521
Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
163 words
A method for increasing the execution speed of a computer program written in a computer language having facilities for dynamically adding program elements under control of the program itself, said method comprising the steps of: executing said program in a first thread of execution: dynamically adding a program element to said program under control of said program itself, said step of dynamically adding a program element including the further steps of generating a request from said program to dynamically add a program element to said program, communicating said request to a translation means executing in a second thread of execution, employing said translation means, translating said program element into code objects and IL symbols, and incrementally updating the image, using memory mapped data, of said program from said code objects and IL symbols in said second thread of execution; and thereafter continuing execution of said program in said first thread of execution embodying the updated image of said program incorporating said program element.
Claim 2
Independent Claim
163 words
A method for increasing the execution speed of a computer program written in a computer language having facilities for dynamically adding program elements under control of the program itself, said method comprising the steps of: executing said program in a first thread of execution: dynamically adding a program element to said program under control of said program itself, said step of dynamically adding a program element including the further steps of generating a request from said program to dynamically add a program element to said program, communicating said request to a translation means executing in a second thread of execution, employing said translation means, translating said program element into code objects and IL symbols, and incrementally updating the image, using memory mapped data, of said program from said code objects and IL symbols in said second thread of execution; and thereafter continuing execution of said program in said first thread of execution embodying the updated image of said program incorporating said program element.
Claim 3
Dependent Claim
28 words
The method of claim 1 wherein said step of translating said program element further comprises the step of implementing an incremental byte code compiler as said translation means.
Claim 4
Dependent Claim
23 words
The method of claim 1 further comprising the step of storing said code objects and said IL symbols in a persistent symbol table.
Claim 5
Dependent Claim
210 words
Apparatus for increasing the execution speed of a computer program written in a computer language having facilities for dynamically adding program elements under control of the program itself, said apparatus including a programmable computer further including a central processing unit, memory, and input and output devices, the apparatus further comprising: execution means for executing said program in a first thread of execution; means for dynamically adding a program element to said program under control of said program itself, said means for dynamically adding a program element including request generation means for generating a request from said program to dynamically add a program element to said program, translation means, executing in a second thread of execution, for translating said program element into code objects and IL symbols, communication means for communicating said request to said translation means, and incremental update means for incrementally updating the image, using memory mapped data, of said program from said code objects and IL symbols in said second thread of execution; and responsive to the adding a program element to said program by said programmatic means for dynamically adding a program element, means for continuing execution, in said first thread of execution, of said program embodying the updated image of said program incorporating said program element.
Claim 6
Dependent Claim
210 words
Apparatus for increasing the execution speed of a computer program written in a computer language having facilities for dynamically adding program elements under control of the program itself, said apparatus including a programmable computer further including a central processing unit, memory, and input and output devices, the apparatus further comprising: execution means for executing said program in a first thread of execution; means for dynamically adding a program element to said program under control of said program itself, said means for dynamically adding a program element including request generation means for generating a request from said program to dynamically add a program element to said program, translation means, executing in a second thread of execution, for translating said program element into code objects and IL symbols, communication means for communicating said request to said translation means, and incremental update means for incrementally updating the image, using memory mapped data, of said program from said code objects and IL symbols in said second thread of execution; and responsive to the adding a program element to said program by said programmatic means for dynamically adding a program element, means for continuing execution, in said first thread of execution, of said program embodying the updated image of said program incorporating said program element.
Claim 7
Dependent Claim
16 words
The apparatus of claim 4 wherein said translation means further comprises an incremental byte code compiler.
Claim 8
Dependent Claim
20 words
The method of claim 4 further comprising a persistent symbol table for storing said code objects and said IL symbols.
References Cited (Backward Citations)
US4802165A
Cited
US4809170A
Cited
US4953084A
Cited
US5193191A
Cited
US5170465A
Cited
US5182806A
Cited
US5201050A
Cited
US5325531A
Cited
EP0406828A1
Cited
US5339431A
Cited
US5204960A
Cited
WO1991020030A1
Cited
US5175856A
Cited
EP0476667A2
Cited
US5307499A
Cited
US5459868A
Cited
US5291583A
Cited
US5432795A
Cited
US5265254A
Cited
US5355494A
Cited
US5375239A
Cited
US5357628A
Cited
US5426648A
Cited
US5327562A
Cited
US5371747A
Cited
WO1993025964A1
Cited
JPH0683597A
Cited
JPH06266563A
Cited
US5339433A
Cited
JPH06161726A
Cited
FR2701580A1
Cited
JPH06274349A
Cited
WO1995000901A1
Cited
WO1995000904A1
Cited
US5590331A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-12-07 | 2002-06-08 | 2002-12-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-12-07 | 2006-06-08 | 2006-12-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-12-07 | 2010-06-08 | 2010-12-08 | $7700.00 | Window Closed / Lapsed |