Skip to main content

Dynamic Path Profile Aided Recompilation in a JAVA Just-In-Time Compiler

  • Conference paper
  • First Online:
Book cover High Performance Computing — HiPC 2002 (HiPC 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2552))

Included in the following conference series:

  • 1089 Accesses

Abstract

Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information to produce better quality code and hence achieve higher performance. In a JIT compilation environment, the profile information obtained can be readily exploited in the same run to aid recompilation and optimization of frequently executed (hot) methods. This paper discusses a low overhead path profiling scheme for dynamically profiling JIT produced native code. The profile information is used in recompilation during a subsequent invocation of the hot method. During recompilation tree regions along the hot paths are enlarged and instruction scheduling at the superblock level is performed. We have used the open source LaTTe JIT compiler framework for our implementation. Our results on a SPARC platform for SPEC JVM98 benchmarks indicate that (i) there is a significant reduction in the number of tree regions along the hot paths, and (ii) profile aided recompilation in LaTTe achieves performance comparable to that of adaptive LaTTe in spite of retranslation and profiling overheads.

This work was done when the first author was a graduate student at the Department of Computer Science and Automation, Indian Institute of Science, Bangalore. It was extended when the second author was a Summer Research Fellow of Jawaharlal Nehru Centre for Advanced Scientiifc Research, Bangalore, at the Supercomputer Education and Research Centre, Indian Institute of Science, Bangalore. The last author acknowledges the research funding received from the Department of Science and Technology, India, which partly supported this work.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A.-R. Adl-Tabatabai, M. Cierniak, G-Y. Lueh, V.M. Parikh, and J.M. Stichnoth. Fast effective code generation in a Just-In-Time Java compiler. In Proc. of the ACM SIGPLAN’ 98 Conf. on Programming Language Design and Implementation, June 1998. 496

    Google Scholar 

  2. M. Arnold, S. J. Fink, D. Grove, M. Hind, P. F. Sweeney. Adaptive optimization in the Jalapeno JVM. In Proc. of the ACM SIGPLAN Conf. on Object Oriented Programming, Systems, Languages and Applications (OOPSLA’00), Oct. 2000. 496

    Google Scholar 

  3. M. Arnold, M. Hind and B.G. Ryder. An empirical study of selective optimization. In Proc. of the 13th Intl. Workshop on Languages and Compilers for Parallel Computing, 2000. 504

    Google Scholar 

  4. V. Bala, E. Duesterwald, S. Banerjia. Dynamo: A transparent dynamic optimization system. In Proc. of the SIGPLAN’ 98 Conf. on Programming Language Design and Implementation, 2000. 503

    Google Scholar 

  5. T. Ball and J.R. Larus. Optimally profiling and tracing programs. In Proc. of the 19th Symp. on Principles of Programming Languages, Jan. 1992. 496, 498

    Google Scholar 

  6. T. Ball and J.R. Larus. Eficient path profiling. In Proc. of 29th Symp. on Microarchitecture, Dec. 1996. 496

    Google Scholar 

  7. T. Ball, P. Mataga and M. Sagiv. Edge profiling versus path profiling: The showdown. In Proc. of the 25th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, Jan. 1998. 496, 504

    Google Scholar 

  8. R.G. Burger and R. K. Dybvig. An infrastructure for profile-driven dynamic recompilation. In Proc. of Intl. Conf. on Computer Languages (ICCL’98), May 1998. 503, 504

    Google Scholar 

  9. M.G. Burke, D. Choi, S. Fink, D. Grove, M. Hind, V. Sarkar, M. J. Serrano, V.C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeno dynamic optimizing compiler for Java. In Proc. of 1999 ACM Java Grande Conference, June 1999. 503, 504

    Google Scholar 

  10. W.Y. Chen, S.A. Mahlke, N. J. Warter, S. Anik, W. W. Hwu. Profile-assisted instruction scheduling. International Journal of Parallel Programming, 1994. 496, 500

    Google Scholar 

  11. E. Duesterwald and V. Bala. Software profiling for hot path prediction: Less is more. In Proc. of the 9th Intl. Conf. on Architecture Support for Programming Languages and Operating Systems, 2000. 496, 503

    Google Scholar 

  12. B. Grant, M. Mock, M. Philipose, C. Chambers and S. J. Eggers. DyC: An expressive annotation-directed dynamic compiler for C. Technical Report UW-CSE-97-03-03, Dept. of Computer Science and Engineering, University of Washington, Seattle, WA, 1997. 503

    Google Scholar 

  13. W. W. Hwu, S. A. Mahlke, W.Y. Chen, P.P. Chang, N. J. Warter, R.A. Bringmann, R. G. Ouellette, R.E. Hank, T. Kiyohara, G.E. Haab, J.G. Holm, and D.M. Lavery. The Superblock: An effective structure for VLIW and superscalar compilation. Journal of Supercomputing, Feb. 1993.

    Google Scholar 

  14. J. Lee, B-S. Yang, S. Kim, S. Lee, Y. C. Chung, H. Lee, J.H. Lee, S-M. Moon, K. Ebicioglu, E. Altman. Reducing virtual call overheads in a Java VM Just-in-Time compiler. In Proc. of 1999 Workshop on Interaction between Compilers and Computer Architectures, Jan. 2000. 497

    Google Scholar 

  15. S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., 1997. 501

    Google Scholar 

  16. The SPARC Architecture Manual Version 8. 497

    Google Scholar 

  17. R. Vinodh Kumar. Dynamic path profile aided recompilation in a Java Just-In-Time compiler M.E. Dissertation Project, Indian Institute of Science, Dept. of Computer Science & Automation, Bangalore, 560 012, India, Jan. 2000. 499

    Google Scholar 

  18. B-S. Yang, S-M. Moon, S. Park, J. Lee, S. Lee, J. Park, Y.C. Chung, S. Kim, K. Ebcioglu, and E. Altman. LaTTe: A Java VM Just-In-Time compiler with fast and efficient register allocation. In Proceedings of the 1999 Intl. Conf. on Parallel Architectures and Compilation Techniques, Oct. 1999. 496, 497, 501

    Google Scholar 

  19. F. Yellin and T. Lindholm, The Java Virtual Machine Specification, Addison-Wesley, 1996. Hall, 1999. 495

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vinodh Kumar, R., Lakshmi Narayanan, B., Govindarajan, R. (2002). Dynamic Path Profile Aided Recompilation in a JAVA Just-In-Time Compiler. In: Sahni, S., Prasanna, V.K., Shukla, U. (eds) High Performance Computing — HiPC 2002. HiPC 2002. Lecture Notes in Computer Science, vol 2552. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36265-7_47

Download citation

  • DOI: https://doi.org/10.1007/3-540-36265-7_47

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00303-8

  • Online ISBN: 978-3-540-36265-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics