← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag