Electrical computers and digital processing systems: interprogra – Dynamic linking – late binding
Reexamination Certificate
2000-09-28
2004-08-17
Lee, Thomas (Department: 2126)
Electrical computers and digital processing systems: interprogra
Dynamic linking, late binding
C719S332000, C717S148000, C717S153000, C717S165000
Reexamination Certificate
active
06779188
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention provides apparatus and methods for improved devirtualization of method calls. More specifically, the present invention provides apparatus and methods for performing lookups of appropriate methods to be invoked on objects only when it has been determined that the method has been overridden or overloaded.
2. Description of Related Art
Many Java method calls are virtual. This means that the target method of the site of a call is dependent on the object upon which the method is invoked. This dependency requires a lookup of the appropriate method to be invoked on the object. The lookup takes time and reduces performance. A Java just-in-time compiler can make method calls with less overhead if the method is not overloaded, i.e. if the method does not have an alternative method with the same name and signature, defined in a subclass of the class of the original method, to be used instead of the original method for objects of type of the subclass.
Thus, it would be beneficial to have apparatus and methods for performing a lookup of a method to be invoked which reduces the amount of time used to perform lookups. It would further be beneficial to have an apparatus and method for performing lookups only when they are necessary to finding an appropriate method to be invoked on an object.
SUMMARY OF THE INVENTION
Apparatus and methods are provided for improving devirtualization of method calls in Java. The apparatus and methods reduce the amount of processing time used in performing lookups of methods by limiting such lookups to calls of methods that have been either overridden or overloaded. If a method has not been overridden or overloaded, a branch to the compiled method code is directly taken. If a method has been overridden or overloaded, a lookup routine is executed for looking-up the appropriate method to be invoked on the passed object. The identification of whether to use a lookup routine may be performed in many different ways including providing an extra field in a method block of the method, inserting code into a prolog of the method, and the like.
REFERENCES:
patent: 6151703 (2000-11-01), Crelier
patent: 6385660 (2002-05-01), Griesemer et al.
Fernandez, Simple and Effective Link-Time Optimization of Modula-3 Programs, Nov. 7, 1994, pp. 1-7.*
Ishizaki et al., Design, Implementation, and Evaluation of Optimizations in a Just-In-Time Compiler, ACM, Jun. 1999, pp. 119-122.
Blandy Geoffrey Owen
Johnson Andrew
Cao Diem
Emile Volel
International Business Machines - Corporation
Lee Thomas
Tkacs Stephen R.
LandOfFree
Apparatus and method for improved devirtualization of method... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Apparatus and method for improved devirtualization of method..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for improved devirtualization of method... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3303803