skip to main content
article
Free Access

A comparative study of static and profile-based heuristics for inlining

Authors Info & Claims
Published:01 January 2000Publication History
Skip Abstract Section

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%).

References

  1. 1 F. E. Allen and J. Cocke. A catalogue of optimizing transformations. In Design and Optimization of Compilers, pages 1-30. Prentice-Hall, 1972.Google ScholarGoogle Scholar
  2. 2 B. Alperu, D. Attanvaio, J. J. Barton, A. Cocchi, S. Flynn Hummel, D. Lieber, T. Ngo, M. Mergen, J. Shepherd, and S. Smith. Implementation of Jalepefio in Java. In AGM Conference on Object. Oriented Programming Systems, Languages, and Applications, November 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 B. AJpern, A. Cocchi, D. Lieber, M. Merges, and V. Sarkar. Jalape~fio -- a compiler-supported Java virtual ma~hjne for servers. In ACM SIGPLAN 1999 Workshop on Compiler Support for System SofluJare (WCSSS'99), May 1999. Also available as INRIA report No. 0228, March 1999.Google ScholarGoogle Scholar
  4. 4 G. Ammons, T. Ball, and J.R. Larus. Exploiting hardware performance counters with flow and context sensitive profiling. In SIGPLAN '97 Conf. on Programming Language Design and Implementation, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 A. Ayers, R. Gottlieb, and R. Schoolex. Aggressive inlining. In SIGPLAN '97 Conf. on Programming Language Design and Implementation, pages 134- 145, June 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 M.G. Burke, J.-D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M.J. Serrano, V.C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapefio Dynamic Optimizing Compiler for Jaw. In A GM lava Grande Conference, June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 P. P. Chang, S. A. Mabllce, W. Y. Chen, and W.-M. W. Hwu. Profile-guided automatic i,H,e expansion for c programs. Soft~zare - Practice and Ezperience, 22(5):349-369, May 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 K. D. Cooper, M. W. Hall, and L. Torczon. Unexpected side effects of inline substitution: A case study. ACM LOPLAS, 1(1):22-32, March 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. http://www.spec.org/osg/jvm98/, 1998.Google ScholarGoogle Scholar
  10. 10 J. Dean and C. Chambers. Towards better inlining dedsious using inlining trials. In Proc. of the 1994 A CM Conf. on LISP and Functional Programming, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 J. Dean, D. Grove, emd C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. In the 9th European Conference on Object.Oriented Programming, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 M. R. Garey and D. S. Johnson. Computers and Intractibility: A Guide to the Theory of NP. Completeness. W.H. Freeman and Company, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 D. Grove, J. Dean, C. Gsrrett, and C. Chambers. Profde-guided receiver class prediction. In A CM Conference on Object. Oriented Programming Systems, Languages, and Applications, pages 108--123, October 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 S. Jagannathan and A. Wright. Flow-directed inllrtlng. In SIGPLAN '96 Conf. on Programming Language Design and Implementation, pages 193-- 205, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 O. Kaser and C.R. Ramakrishnan. Evaluating 72, 1998.Google ScholarGoogle Scholar
  16. 16 Robert W. Scheifler. An analysis of inline substitution for a structured programming language. GAGM, 20(9), September 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Oscar Wadden and R. Kent Dybvig. Fast and effective procedure ;rdln~ng. In ~th International Symposium on Static Analysis, September 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A comparative study of static and profile-based heuristics for inlining

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 35, Issue 7
        July 2000
        79 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/351403
        Issue’s Table of Contents
        • cover image ACM Conferences
          DYNAMO '00: Proceedings of the ACM SIGPLAN workshop on Dynamic and adaptive compilation and optimization
          January 2000
          81 pages
          ISBN:1581132417
          DOI:10.1145/351397

        Copyright © 2000 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 2000

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader