Claims
- 1. 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.
- 2. 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.
- 3. The method of claim 1 further comprising the step of storing said code objects and said IL symbols in a persistent symbol table.
- 4. 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.
- 5. The apparatus of claim 4 wherein said translation means further comprises an incremental byte code compiler.
- 6. The method of claim 4 further comprising a persistent symbol table for storing said code objects and said IL symbols.
REFERENCE TO PARENT APPLICATION
This is a Continuation-in-Part of application Ser. No. 08/608,820, filed Feb. 29, 1996 now U.S. Pat. No. 5,764,989.
US Referenced Citations (24)
Foreign Referenced Citations (11)
Number |
Date |
Country |
90307228 |
Feb 1990 |
EPX |
91115971 |
Sep 1991 |
EPX |
2701580 |
Oct 1993 |
FRX |
H6-83597 |
Mar 1994 |
JPX |
H6-161726 |
Jun 1994 |
JPX |
H6-266563 |
Sep 1994 |
JPX |
H6-274349 |
Sep 1994 |
JPX |
PCTUS9104064 |
Jun 1991 |
WOX |
PCTUS9305368 |
Jun 1993 |
WOX |
PCTUS9400041 |
Jun 1993 |
WOX |
PCTUS9400342 |
Jun 1993 |
WOX |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
608820 |
Feb 1996 |
|