Method for fast translation of java byte codes into...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S152000, C717S152000

Reexamination Certificate

active

06292935

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to the field of computer software optimization. In particular, the present invention relates to a method of quickly translation Java Byte Codes into efficient native processor code ready for execution.
BACKGROUND OF THE INVENTION
Most computer programs exist as compiled object code. The compiled object code is designed to operate only on one particular operating system running on one particular computer processor architecture. To distribute a program for several different computer architectures the original source code must be compiled into object code for each different computer processor architecture and each different operating system.
To create a highly portable programming environment, Sun Microsystems, Inc. introduced Java. Java is an object oriented programming language that is compiled from a well-defined source code into Java byte codes. The Java byte codes are designed to execute on a “Java Virtual Machine.” A Java Virtual Machine is not an actual hardware platform. Instead, a Java Virtual Machine is a low level software emulator that can be implemented on many different computer processor architectures and under many different operating systems. Thus, a single compiled Java program can be distributed to any computer processor architecture and operating system that has a Java Virtual Machine implementation available. Therefore, a programmer can write a single Java program and the program will run on many different computer platforms.
Early Java Virtual Machines were implemented as interpreters. In a Java interpreter, each Java byte code is examined and a corresponding operation is performed in the Java Virtual Machine. Although Java byte code interpreters achieve the goal of having a portable programming environment, Java interpreters suffer from slow performance.
To improve the performance of Java Virtual machines, Java compilers were created. Java compilers translate the Java byte codes into native computer processor instructions for the particular computer architecture that the Java Virtual Machine is running on. Then, the computer processor runs the Java program by directly running the compiled native code. Such compiled Java programs execute much faster than Java programs that are executed using a Java interpreter.
In many applications Java programs are distributed in real time across a computer network. For example, a user may download a Java program from a server into a local client computer system. The user then typically wishes to immediately execute the downloaded Java program. To provide an immediate response to the user, a Java byte code compiler immediately compiles the Java program into native processor code. This technique is known as “Just-In-Time” compiling.
Just-In-Time compilation must be performed very quickly to prevent user frustration. Therefore, Just-In-Time compilation can not use computationally expensive techniques to optimize the generated native processor code. Instead, Just-In-Time compilers must generate the best possible code during one or two passes through the source code. It would therefore be desirable to have a compiler that generates high quality object code with a short compile time.
SUMMARY OF THE INVENTION
A method of translating operand stack based code into native processor code is disclosed. The method of the present invention operates by pushing operand stack values onto a compile time “mimic” stack. When an instruction operates on a value pushed onto the mimic stack, native processor code is generated.
Other objects, features, and advantages of present invention will be apparent from the accompanying drawings and from the detailed description that follows below.


REFERENCES:
patent: 5598560 (1997-01-01), Benson
patent: 5754830 (1998-05-01), Butts et al.
patent: 5794049 (1998-08-01), Lindholm
patent: 5802373 (1998-09-01), Yates et al.
patent: 5805895 (1999-02-01), Breternitz, Jr. et al.
patent: 5875336 (1999-02-01), Dickol et al.
patent: 5898885 (1999-04-01), Dickol et al.
patent: 6075942 (2000-06-01), Cartwright, Jr.
patent: 6081665 (2000-06-01), Nilsen et al.
Goodman-Miller, Programmer's View of Computer Architecture, Oxford University Press, 1993.*
James Gosling, et al., The Java Language Specification, Published by Addison-Wesley, 1996, pp. 29-49.
Tim Lindholm, et al., The Java Virtual Machine Specification, Published by Addison-Wesley, 1997, pp. 57-82.
Alfred V. Aho, et al., Compilers-Principles, Techniques, and Tools, Published by Addsion-Wesley, 1988, pp. 1-24.
Steven S. Muchnick, Advanced Compiler Design & Implementation, Published by Morgan Kaufmann, 1997, pp. 1-18, 319-328.
Douglas Kramer, The Java Platform-A White Paper, Published by Javasoft, 1996, pp. 6-24.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for fast translation of java byte codes into... 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 for fast translation of java byte codes into..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for fast translation of java byte codes into... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2528813

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.