JVM '02 Abstract
An Empirical Study of Method Inlining for a Java Just-In-Time Compiler
Toshio Suganuma, Toshiaki Yasue, and
Toshio Nakatani, IBM Tokyo Research Laboratory
Abstract
Method
inlining is one of the optimizations that have a significant impact on both
system performance and total compilation overhead in a dynamic compilation
system. This paper describes an empirical study of online-profile-directed
method inlining for obtaining both performance benefits and compilation time
reductions in our dynamic compilation system. We rely solely on the profile
information in deciding which methods should be inlined along which call paths,
without employing the existing static heuristics, except that methods with
extremely small bodies are always inlined. The call
site distribution and invocation frequency are collected using dynamically
generated instrumentation code, and are given to the recompilation controller
for analyzing and organizing the inlining requests. The experimental
results show that the strategy of relying on the profile information in method
inlining decision is quite effective for reducing compilation overhead and/or
for improving the performance. It can also provide flexibility for inlining
decisions based on the type of profile, such as spiky or flat profiles. The
results show that the strategy can be the basis of automatic optimization
selection for a future efficient dynamic compilation framework.
- View the full text of this paper in
HTML and
PDF. Until August 2003, you will need your USENIX membership identification in order to access the full papers.
The Proceedings are published as a collective work, © 2002 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.
|