| Call forwarding: a simple interprocedural optimization technique for dynamically typed languages |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 12, Citation Count: 2
|
|
|
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
3
|
|
| |
4
|
M. Carlsson and J. Widen, SICStus Prolog User's Manual, Swedish Institute of Computer Science, Oct. 1988.
|
 |
5
|
|
 |
6
|
C. Chambers , D. Ungar , E. Lee, An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes, Conference proceedings on Object-oriented programming systems, languages and applications, p.49-70, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
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
|
|
|