Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1999-02-24
2002-06-25
Chaki, Kakali (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S151000
Reexamination Certificate
active
06412107
ABSTRACT:
TECHNICAL FIELD OF THE INVENTION
This invention relates to code interpretive virtual machines and in particular to a method and system for providing optimization information to the code interpretive virtual machine.
BACKGROUND OF THE INVENTION
This invention is related to U.S. patent application Ser. No. 08/990,040 which is herein incorporated by reference in its entirety.
Code interpretive runtime systems, such as a Java Virtual Machine (JVM), which execute intermediate code in an interpretive mode are specially useful in embedded, real-time applications. In exchange for speed of execution provided by compiled code which is executable only on the specific platform it was compiled for, the intermediate code is extremely portable and executable on any platform by a JVM designed specifically for that platform.
To improve performance, the JVM generally also includes a “Just-In-Time” (“JIT”) compiler for compiling the intermediate code under certain conditions, i.e., when repeated use of the same sequence of intermediate code is detected. The JVM may also be designed to optimize the intermediate code before execution. While these enhancements to the code interpretive runtime systems do provide some performance improvements, the overhead associated with making such compilation and/or optimization decisions on-the-fly can far outweigh the resulting benefits, particularly in real time applications executing in a limited resource environment.
What is needed is a method of providing optimization information to the code interpretive runtime system to assist it in executing code more effectively and in managing use of its limited resources more effectively.
SUMMARY OF THE INVENTION
The present invention is a code preparation method and system which provide optimization information to a code interpretive runtime environment operating on a first data processing platform. The code preparation system partially compiles code input on a second data processing platform to generate intermediate code or accepts as input preprocessed intermediate code, analyzes the intermediate code on the second data processing platform, then generates optimization information for optimizing further processing of the intermediate code in response to the analysis. The intermediate code and the generated instructions are provided to the code interpretive runtime environment operating on the first data processing platform. The code interpretive runtime environment is operable to use the instructions to further process the intermediate code on the first data processing platform.
The code preparation system of the present invention thus allows the code interpretive runtime environment to process the code more efficiently and to manage use of its resources more effectively, particularly when executing in a limited resource computing environment. Such limited resource computing environments include set-top boxes, digital personal assistants, etc.
In another aspect of the invention, the code interpretive runtime system is operable to selectively implement the optimization instructions in accordance with its features and those of the computing platform on which it is executing.
In another aspect of the present invention, the further processing of the intermediate code on the first data processing platform includes completing the compilation started by the code preparation system.
In yet another aspect of the invention, the optimization information is provided to the code interpretive runtime system as attributes added to class files.
REFERENCES:
patent: 5999737 (1999-12-01), Srivastava
patent: 6101325 (2000-08-01), Flaat
patent: 6110226 (2000-08-01), Bothner
patent: 6151618 (2000-11-01), Wahbe et al.
Proebsting, “Optimizing an ANSI C interpreter with superoperators”, POPL '95, ACM, 1995, pp 322-327.*
Quinnell, “Java perks up embedded systems”, EDN, Aug. 1997, pp 38-49.*
Bothner, “A Gcc-based Java Implementation”, IEEE, 1997, pp 174-178.*
“Compiling Java Just In Time”, Cramer, et al., Sun Microsystems, Inc.,IEEE Micro, 1997, pp. 36-43.
“236: Developing JavaRun-Time Applications”, Bothner, Class 236, Embedded Systems Conference, Cygnus Solutions, 16 pages.
“Optimizing NET Compilers for Improved Java Performance”, Hsueth, et al.,IEEE, Jun. 1997, pp. 67-75.
Cyran Robert J.
Knueven Paul J.
Shiell Jonathan H.
Brady III W. James
Chaki Kakali
Hernandez Pedro P.
Telecky , Jr. Frederick J.
Texas Instruments Incorporated
LandOfFree
Method and system of providing dynamic optimization... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and system of providing dynamic optimization..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system of providing dynamic optimization... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2934856