A Comparative Study of Static and Dynamic Heuristics for Inlining

Matthew Arnold, Stephen Fink, Vivek Sarkar, Peter Sweeney

January, 2000

Abstract:

In this paper, we present a comparative study of static and profile-based heuristics for inlining. Our motivation for this study is to use the results to design the best inlining algorithm that we can for the Jalapeņo dynamic optimizing compiler for Java. We use a well-known approximation algorithm for the KNAPSACK problem as a common "meta-algorithm" for the inlining heuristics studied in this paper. We present performance results for an implementation of these inlining heuristics in the Jalapeņo dynamic optimizing compiler. Our performance results show that the inlining heuristics studied in this paper can lead to significant speedups in execution time (up to 1.68X) even with modest limits on code size expansion (at most 10%).

Preprint PS