A comparative study of static and profile-based heuristics for inlining
- 1 January 2000
- proceedings article
- Published by Association for Computing Machinery (ACM)
- Vol. 35 (7) , 52-64
- https://doi.org/10.1145/351397.351416
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 [6]. 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%).Keywords
This publication has 10 references indexed in Scilit:
- Implementing jalapeño in JavaPublished by Association for Computing Machinery (ACM) ,1999
- The Jalapeño dynamic optimizing compiler for JavaPublished by Association for Computing Machinery (ACM) ,1999
- Exploiting hardware performance counters with flow and context sensitive profilingPublished by Association for Computing Machinery (ACM) ,1997
- Aggressive inliningPublished by Association for Computing Machinery (ACM) ,1997
- Flow-directed inliningPublished by Association for Computing Machinery (ACM) ,1996
- Profile-guided receiver class predictionPublished by Association for Computing Machinery (ACM) ,1995
- Towards better inlining decisions using inlining trialsPublished by Association for Computing Machinery (ACM) ,1994
- Profile‐guided automatic inline expansion for C programsSoftware: Practice and Experience, 1992
- Unexpected side effects of inline substitutionACM Letters on Programming Languages and Systems, 1992
- An analysis of inline substitution for a structured programming languageCommunications of the ACM, 1977