U.S. patents available from 1976 to present.
U.S. patent applications available from 2005 to present.

Method for optimizing Java performance using precompiled code

Patent 6289506 Issued on September 11, 2001. Estimated Expiration Date: Icon_subject June 30, 2018. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.

Patent References

Method and apparatus for resolving data references in generated code
Patent #: 5367685
Issued on: 11/22/1994
Inventor: Gosling

Binary image performance evaluation tool
Patent #: 5465258
Issued on: 11/07/1995
Inventor: Adams

System for monitoring computer system performance
Patent #: 5539907
Issued on: 07/23/1996
Inventor: Srivastava, et al.

Method and apparatus for generating platform-standard object files containing machine-independent code
Patent #: 5590331
Issued on: 12/31/1996
Inventor: Lewis, et al.

System and method for pre-verification of stack usage in bytecode program loops
Patent #: 5668999
Issued on: 09/16/1997
Inventor: Gosling

Method and apparatus for managing profile data
Patent #: 5768592
Issued on: 06/16/1998
Inventor: Chang

Dynamic cross-compilation system and method
Patent #: 5768593
Issued on: 06/16/1998
Inventor: Walters, et al.

Method and apparatus for forming a translation unit
Patent #: 5842017
Issued on: 11/24/1998
Inventor: Hookway, et al.

Method and system for optimizing non-native bytecodes before bytecode interpretation
Patent #: 5905895
Issued on: 05/18/1999
Inventor: Halter

Determining dynamic properties of programs
Patent #: 5909577
Issued on: 06/01/1999
Inventor: Devanbu

More ...

Inventors

Application

No. 107702 filed on 06/30/1998

US Classes:

717/148, Just-in-time compiling or dynamic compiling (e.g., compiling Java bytecode on a virtual machine)717/158Including instrumentation and profiling

Examiners

Primary: Chaki, Kakali

Attorney, Agent or Firm

International Class

G06F 009/45

Abstract

Compilers are tools that generate efficient mappings from programs to machines A Java "Just In Time" runs as part of an application, and as such, it must be fast and efficient in its use of memory. To achieve good performance and further optimize code generation, the present invention introduces a method for optimizing Java performance using precompiled code. The method of the present invention first monitors the performance of program code during program execution. Then a list of program functions for possible native code compilation is created. The list may be created based upon static and dynamic analysis of the computer program. A plurality of program functions from said list of program functions is selected for optimization and native compilation. The selected program functions are precompiled into native program functions. The present invention also allows the precompiled native code reverted so that a user could explore the performance tuning until satisfactory.

Other References

  • Bothner, "A Gcc-basedJava Implementation", IEEE 1997, pp. 174-178.
  • Cierniak et al., "Briki: An Optimizing Java compiler", Compcon Proceedings,IEEE, 1997, pp. 179-184.
  • Hsieh et al., "Java Bytecode to Native Code Translation: The Caffeine Prototype and Preliminary Results", IEEE, 1996, pp. 90-97.
  • Hsieh et al., "Optimizing NET Compilers for Improved Java Performance", IEEE 1997, pp. 67-75.
  • 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
  • P. Tyma; "Tuning Java Performance", Dr. Dobb's Journal, vol. 21, No. 4, pp. 52-58
  • D. Bell; "Make Java Fast: Optimaze", Javaworld (online). Retrieved from : Jun. 22, 1999
  • Jansen, et al.; "Security and Dynamic Class Loading in Java: a Formalisation" IEEE/IEE Electronic Library (online)
  • Aho, et al.; "Compilers, Principles, Techniques, and Tools", Addison-Wesley Publishing Co., Ch. 9 and 10
  • Ciemiek, et al.; "Briki: An Optimizing Java Compiler", IEEE/IEE Electronic Library (Online) Proceedings of IEEE Compcon '97, pp. 179-184
  • E. Armstrong, "HotSpot: A New Breed of Virtual Machine", Javaworld (online). Retrieved from on Jun. 22, 1999
  • Bacon, et al.; "Compiler Transformations and High-Performance Computing", ACM Computing Surveys, vol. 25, No. 4, 12/94, pp. 345-420
  • Bothner, "A Gcc-Based Java Implementation", Cygnus Solutions, IEEE, 1963, pp. 174-17
PatentsPlus Images
Enhanced PDF formats
loading...
PatentsPlus: add to cart
PatentsPlus: add to cartSearch-enhanced full patent PDF image
$9.95more info
PatentsPlus: add to cart
PatentsPlus: add to cartIntelligent turbocharged patent PDFs with marked up images
$18.95more info
 
Sign InRegister
Username  
Password   
forgot password?