ACM Home Page
Please provide us with feedback. Feedback
Call forwarding: a simple interprocedural optimization technique for dynamically typed languages
Full text PdfPdf (1.16 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Portland, Oregon, United States
Pages: 409 - 420  
Year of Publication: 1994
ISBN:0-89791-636-0
Authors
Koen De Bosschere  Department of Electronics, Universiteit Gent, B-9000 Gent, Belgium
Saumya Debray  Department of Computer Science, The University of Arizona, Tucson, AZ
David Gudeman  Department of Computer Science, The University of Arizona, Tucson, AZ
Sampath Kannan  Department of Computer Science, The University of Arizona, Tucson, AZ
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 12,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/174675.178041
What is a DOI?

ABSTRACT

This paper discusses call forwarding, a simple interprocedural optimization technique for dynamically typed languages. The basic idea behind the optimization is straightforward: find an ordering for the “entry actions” of a procedure, and generate multiple entry points for the procedure, so as to maximize the savings realized from different call sites bypassing different sets of entry actions. We show that the problem of computing optimal solutions to arbitrary call forwarding problems is NP-complete, and describe an efficient greedy algorithm for the problem. Experimental results indicate that (i) this algorithm is effective, in that the solutions produced are generally close to optimal; and (ii) the resulting optimization leads to significant performance improvements for a number of benchmarks tested.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
 
4
M. Carlsson and J. Widen, SICStus Prolog User's Manual, Swedish Institute of Computer Science, Oct. 1988.
5
6
 
7
 
8
 
9
M. R. Garey, D. S. Johnson, and L. Stockmeyer, "Some Simplified NP-complete Graph Problems", Theoretical Computer Science vol. 1, pp. 237-267, 1976.
 
10
 
11
D. Gudeman, K. De Bosschere, and S. K. Debray, "jc : An Efficient and Portable Implementation of Janus", Proc. Joint International Conference and Symposium on Logic Programming, Washington DC, Nov. 1992. MIT Press.
 
12
A. Mari~n, G. janssens, A. Mulkers, and M. Bruynooghe, "The Impact of Abstract Interpretation: An Experiment in Code Generation", Proc. Sixth International Conference on Logic Programming, Lisbon, June 1989, pp. 33-47. MIT Press.
 
13
 
14
 
15
 
16
A. Taylor, "Removal of Dereferencing and Trailing in Prolog Compilation", Proc. Sixth International Conference on Logic Programming, Lisbon, June 1989, pp. 48-60. MIT Press.
 
17
 
18
19


Collaborative Colleagues:
Koen De Bosschere: colleagues
Saumya Debray: colleagues
David Gudeman: colleagues
Sampath Kannan: colleagues