Call forwarding: a simple interprocedural optimization technique for dynamically typed languages

Koen De Bosschere, Saumya Debray, David Gudeman, Sampath Kannan

Research output: Chapter in Book/Report/Conference proceedingConference contribution

9 Scopus citations

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.

Original languageEnglish (US)
Title of host publicationConference Record of the Annual ACM Symposium on Principles of Programming Languages
PublisherPubl by ACM
Pages409-420
Number of pages12
ISBN (Print)0897916360
StatePublished - 1994
Externally publishedYes
EventProceedings of the 21st Annual ACM Symposium on Principles of Programming Languages - Portland, OR, USA
Duration: Jan 17 1994Jan 21 1994

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Other

OtherProceedings of the 21st Annual ACM Symposium on Principles of Programming Languages
CityPortland, OR, USA
Period1/17/941/21/94

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Call forwarding: a simple interprocedural optimization technique for dynamically typed languages'. Together they form a unique fingerprint.

Cite this