@inproceedings{b5dc9442ac2443b9819f99ca51aadd48,
title = "Call forwarding: a simple interprocedural optimization technique for dynamically typed languages",
abstract = "This paper discusses call forwarding, a simple interprocedural optimization technique for dynamically typed languages. The basic idea behind the optimization is straightforward: fin 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.",
author = "{De Bosschere}, Koen and Saumya Debray and David Gudeman and Sampath Kannan",
year = "1994",
language = "English (US)",
isbn = "0897916360",
series = "Conference Record of the Annual ACM Symposium on Principles of Programming Languages",
publisher = "Publ by ACM",
pages = "409--420",
booktitle = "Conference Record of the Annual ACM Symposium on Principles of Programming Languages",
note = "Proceedings of the 21st Annual ACM Symposium on Principles of Programming Languages ; Conference date: 17-01-1994 Through 21-01-1994",
}