Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1007/11532378_14guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

The use of traces for inlining in java programs

Published: 22 September 2004 Publication History

Abstract

We explore the effectiveness of using traces in optimization. We build a trace collection system for the Jikes Research Virtual Machine and create traces based on the execution of the SPECjvm98 and Java Grande benchmarks. We evaluate the use of traces for inlining in Jikes, and find that the use of traces leads to a decrease in execution time of 10%, when compared to providing similar information from Jikes's adaptive system from a previous execution. This increase in performance is achieved at the expense of a code expansion of 47%. Further, this performance is slightly better than that achieved when using a greedy algorithm. We conclude that traces may be used effectively to perform inlining, although code expansion and trace collection overhead must be addressed.

References

[1]
Matthew Arnold et al: A comparative study of static and profile-based heuristics for inlining. In: Proceedings of SIGPLAN Workshop on Dynamic and Adaptive Compilation and Optimization. (2000) 52-64
[2]
Whaley, J.: Partial method compilation using dynamic profile information. In: Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA). (2001) 166-179
[3]
Suganuma, T., Yasue, T., Nakatani, T.: An empirical study of method inlining for a Java Just-In-Time compiler. In: Proceedings of USENIX 2nd Java Virtual Machine Research and Technology Symposium (JVM'02). (2002) 91-104
[4]
Bala, V., Duesterwald, E., Banerjia, S.: Transparent dynamic optimization: The design and implementation of dynamo. HP Laboratories Technical Report HPL1999 -78 (1999)
[5]
Fisher, J.A.: Trace scheduling : A technique for global microcode compaction. IEEE Transactions on Computers C-30 (1981) 478-490
[6]
Lowney, P.G.: The multiflow trace scheduling compiler. The Journal of Supercomputing 7 (1993) 51-142
[7]
Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: a transparent dynamic optimization system. ACM SIGPLAN Notices 35 (2000) 1-12
[8]
Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.F.: Adaptive optimization in the Jalapeño JVM. ACM SIGPLAN Notices 35 (2000) 47-65
[9]
Bradel, B.J.: The use of traces in optimization. Master's thesis, University of Toronto (2004)
[10]
Hazelwood, K., Grove, D.: Adaptive online context-sensitive inlining. In: Proceedings of International Symposium on Code Generation and Optimization. (2003) 253-264
[11]
Doyle, P.: Jupiter: A modular and extensible Java virtual machine framework. Master's thesis, University of Toronto (2002)
[12]
Ellis, J.R.: A Compiler for VLIWArchitectures. PhD thesis, Yale University (1984)
[13]
Howland, M.A., Mueller, R.A., Sweany, P.H.: Trace scheduling optimization in a retargetable microcode compiler. In: Proceedings of the 20th Microprogramming Workshop (MICRO-20). (1987) 106-114
[14]
Chang, P.P., mei W. Hwu, W.: Trace selection for compiling large c application programs to microcode. In: Proceedings of the 21st Annual Workshop on Microprogramming and Microarchitecture. (1988) 21-29
[15]
Wen-mei W. Hwu et al: The superblock: An effective technique for vliw and superscalar compilation. Journal of Supercomputing 7 (1993) 229-248
[16]
Bruening, D., Duesterwald, E., Amarasinghe, S.: Design and implementation of a dynamic optimization framework for windows. In: Proceedings of 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4). (2001)
[17]
Bruening, D., Garnett, T., Amarasinghe, S.: An infrastructure for adaptive dynamic optimization. In: Proceedings of the international symposium on Code generation and optimization. (2003) 265-275
[18]
Chen, W.K., Lerner, S., Chaiken, R., Gillies, D.M.: Mojo: A dynamic optimization system. In: Proceedings of 3rd ACMWorkshop on Feedback-Directed and Dynamic Optimization (FDDO-3). (2000)
[19]
Krintz, C.: Coupling on-line and off-line profile information to improve program performance. In: Proceedings of International Symposium on Code Generation and Optimization. (2003) 69-78

Cited By

View all
  • (2014)Trace transitioning and exception handling in a trace-based JIT compiler for javaACM Transactions on Architecture and Code Optimization10.1145/257967311:1(1-26)Online publication date: 1-Feb-2014
  • (2012)Evaluation of trace inlining heuristics for JavaProceedings of the 27th Annual ACM Symposium on Applied Computing10.1145/2245276.2232084(1871-1876)Online publication date: 26-Mar-2012
  • (2011)Next in line, please!Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, & VMIL'1110.1145/2095050.2095102(317-328)Online publication date: 23-Oct-2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
LCPC'04: Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
September 2004
484 pages
ISBN:354028009X
  • Editors:
  • Rudolf Eigenmann,
  • Zhiyuan Li,
  • Samuel P. Midkiff

Sponsors

  • International Business Machines Corporation: International Business Machines Corporation
  • National Science Foundation, USA

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 22 September 2004

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Trace transitioning and exception handling in a trace-based JIT compiler for javaACM Transactions on Architecture and Code Optimization10.1145/257967311:1(1-26)Online publication date: 1-Feb-2014
  • (2012)Evaluation of trace inlining heuristics for JavaProceedings of the 27th Annual ACM Symposium on Applied Computing10.1145/2245276.2232084(1871-1876)Online publication date: 26-Mar-2012
  • (2011)Next in line, please!Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE! 2011, AOOPES'11, NEAT'11, & VMIL'1110.1145/2095050.2095102(317-328)Online publication date: 23-Oct-2011
  • (2011)Trace-based compilation for the Java HotSpot virtual machineProceedings of the 9th International Conference on Principles and Practice of Programming in Java10.1145/2093157.2093176(129-138)Online publication date: 24-Aug-2011
  • (2008)Trace fragment selection within method-based JVMsProceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments10.1145/1346256.1346263(41-50)Online publication date: 5-Mar-2008

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media