Constant return optimization transforming indirect calls to...

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

C717S116000, C717S159000

Reexamination Certificate

active

07028293

ABSTRACT:
Indirect method invocation of methods that only return constant values is optimized using fetching operations and return constant tables. Such method calls can be optimized if all possible method calls via the call site instruction return a constant value and have no side effects. Each constant return value is loaded from a return constant table, and method invocation is eliminated. If all possible target methods in a program result in a constant return value and have no side effects, an associated virtual function dispatch table (vtable) may be used as the return constant table. Furthermore, control operation optimization may be applied to identify type constraints, based on one or more possible type-dependent constant return values from an indirect method invocation. An optimizer identifies and maps between a restricted set of values and an associated restricted set of types on which execution code may operate relative to a given control operation. The type constraints are used to optimize the associated execution code by filtering propagation of runtime type approximations for optimization.

REFERENCES:
patent: 5421016 (1995-05-01), Conner et al.
patent: 5481708 (1996-01-01), Kukol
patent: 5794044 (1998-08-01), Yellin
patent: 5970242 (1999-10-01), O'Connor et al.
patent: 6041179 (2000-03-01), Bacon et al.
patent: 6044155 (2000-03-01), Thomlinson et al.
patent: 6161217 (2000-12-01), Detlefs et al.
patent: 6163880 (2000-12-01), Ramalingam et al.
patent: 6175956 (2001-01-01), Hicks et al.
Karen Driesen, “Selector Table Indexing & Sparse Arrays”, Oct. 1993, Proceedings of the ACM OOPSLA'93 Conference, Washington DC.
Urs Hölzle, Craig Chambers, David Ungar, “Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches”, 1991, Springer-Verlag Heidelberg, Lecture Notes in Computer Science, ISSN: 0302-9743, vol. 512 / 1991, pp. 21-38.
Gerald Baumgartner, Vincent F. Russo, “Implementing signatures for C++”, Jan. 1997, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 19 Issue 1, pp. 153-187.
Zaks, Feldman, and Aizikowitz, “Sealed calls in Java packages”, 2000, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, ISSN:0362-1340, pp. 83-92.
Bradley M. Kuhn, David W. Binkley, “An enabling optimization for C++ virtual functions”, Feb. 1996, Proceedings of the 1996 ACM symposium on Applied Computing, pp. 420-428.
Driesen and Hölzle, “The direct cost of virtual function calls in C++”, 1996, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, ISSN:0362-1340, pp. 306-323.
David F. Bacon, Peter F. Sweeney, “Fast static analysis of C++ virtual function calls”, Oct. 1996, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, vol. 31 Issue 10, pp. 324-341.
Eric Amiel, Olivier Gruber, Eric Simon, “Optimizing multi-method dispatch using compressed dispatch tables”, Oct. 1994, Proc. of the ninth annual conference on Object-oriented programming systems, language, and applications, 29 Issue 10, pp. 244-258.
Steven S. Muchnick, “Advanced Compiler Design and Implementation”, 1997, Morgan Kaufmann Publishers, ISBN 1-55860-320-4, Chapter 19.
Bacon, Graham, and Sharp, “Compiler Transformations for High-Performance Computing”, Dec. 1994, ACM Computing Surveys, Volumn 26, No. 4, pp. 345-420.
Kayshav Dattatri, “C++: Effective Object-Oriented Software Construction”, 2000, Prentice Hall, Chapter 13.
G. Ramalingam, Harini Srinivasan, “A member lookup algorithm for C++”, May 1997, ACM SIGPLAN Notices, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, vol. 32 Issue 5, pp.: 18-30.
Paul McNamee, Marty Hall, “Developing a tool for memoizing functions in C++”, Aug. 1998, ACM SIGPLAN Notices, vol. 33 Issue 8, ISSN:0362-1340, pp.: 17-22.
Mark Johnson, “Squibs and discussions: Memoization in top-down parsing”, Sep. 1995, Computational Linguistics, vol. 21 Issue 3, ISSN:0891-2017, pp.: 405-417.
Hall and Mayfield, “Improving the Performance of Al Software: Payoffs and Pitfalls in Using Automatic Memoization”, Sep. 1993, Proceedings of Sixth International Symposium on Artifical Intelligence, 7 pages.
Brad Calder, Dirk Grunwald , “Reducing indirect function call overhead in C++ programs”, 1994, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, ISBN:0-89791-636-0, pp.: 397-408.
“SableVM: A Research Framework for the Efficient Execution of Java Bytecode”, Sable Technical Report No. 2000-3, by Gagnon et al., Nov. 2000.
“Chapter 10: Virtual Methods”, http://topaz.cs.byu.edu/cs431/doc/Textbook/Chapter10/, 21 pages.

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

Constant return optimization transforming indirect calls to... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Constant return optimization transforming indirect calls to..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Constant return optimization transforming indirect calls to... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3586046

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