In this paper, we present a comparative study of static and profile-based h
euristics for inlining. Our motivation for this study is to use the results
to design the best inlining algorithm that we can for the Jalapeno dynamic
optimizing compiler for Java [6]. We use a well-known approximation algori
thm for the KNAPSACK problem as a common "meta-algorithm" for the inlining
heuristics studied in this paper. We present performance results for an imp
lementation of these inlining heuristics in the Jalapeno dynamic optimizing
compiler. Our performance results show that the inlining heuristics studie
d 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%).