Skip to main content

Instruction Scheduling in the Presence of Java’s Runtime Exceptions

  • Conference paper
  • First Online:
Book cover Languages and Compilers for Parallel Computing (LCPC 1999)

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

Abstract

One of the challenges present to a Java compiler is Java’s frequent use of runtime exceptions. These exceptions affect performance directly by requiring explicit checks, as well as indirectly by restricting code movement in order to satisfy Java’s precise exception model. Intruction scheduling is one transformation which is restricted by runtime exceptions since it relies heavily on reordering instructions to exploit maximum hardware performance. The goal of this study was to investigate the degree to which Java’s runtime exceptions hinder instruction scheduling, and to find new techniques for allowing more efficient execution of Java programs containing runtime exceptions.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Trimaran: An infrastructure for research in instruction-level parallelism. Produced by a colaboration between Hewlet Packard, University of Illinois, and New York University. URL: http://www.trimaran.org.

  2. D. August, D. Connors, S. Mahlke, J. Sias, K. Crozier, B. Cheng, P. Eaton, Q. Olaniran, and W. Hwu. Integrated predicated and speculative execution in the IMPACT EPIC architecture. In Proceedings of the 25th Annual International Symposium on Computer Architecture (ISCA-98), volume 26,3 of ACM Computer Architecture News, pages 227–237, New York, June 27–July 1 1998. ACM Press.

    Google Scholar 

  3. D. August, B. Deitrich, and S. Mahlke. Sentinel scheduling with recovery blocks. Computer Science Technical Report CRHC-95-05, University of Illinoiss, Urbana, IL, February 1995.

    Google Scholar 

  4. R. A. Bringmann, S. A. Mahlke, R. E. Hank, J. C. Gyllenhaal, and W.-M W. Hwu. Speculative execution exception recovery using write-back suppression. In Proceedings of the 26th Annual International Symposium on Microarchitecture (MICRO’93), volume 24 of SIGMICRO Newsletter, pages 214–224, Los Alamitos, CA, USA, December 1993. IEEE Computer Society Press.

    Google Scholar 

  5. C. Chambers, I. Pechtchanski, V. Sarkar, M. J. Serrano, and H. Srinivasan. Dependence analysis for Java. In Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing, LCPC’99, August 1999.

    Google Scholar 

  6. K. Ebcioglu and E. R. Altman. DAISY: Dynamic compilation for 100In Proceedings of the 24th Annual International Symposium on Computer Architecture (ISCA-97), volume 25,2 of Computer Architecture News, pages 26–37, New YOrk, June 2–4 1997. ACM Press.

    Google Scholar 

  7. J. A. Fisher. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput., C-30(7):478–490, 1981.

    Article  Google Scholar 

  8. J. Gosling, B. Joy, and G. L. Steele. The Java™ Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA 1996.

    MATH  Google Scholar 

  9. J. L. Hennessy and D. A. Patterson. Computer Archetecture A Quantitative Approach. Morgan Kaufmann Publishers Inc., Santo Mateo,California, 1990. 3rd Printing.

    Google Scholar 

  10. W. W. Hwu, S. A. Mahl 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 technique for VLIW and superscalar compilation. The Journal of Supercomputing, 7:229–248, 1993.

    Article  Google Scholar 

  11. Intel. Ia-64 application developer’s architecture guide. URL: http://developer.intel.com/design/ia64, 1999.

  12. B. C. Le. An out-of-order execution technique for runtime binary translators. In Proceedings of the 8th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOS), volume 33, pages 151–158, November 1998.

    Google Scholar 

  13. S. A. Mahlke, W. Y. Chen, R. A. Bringmann, R. E. Hank, W. W. Hwu, B. R. Rau, and M. S. Schlansker. Sentinel scheduling: A model for compiler-controlled speculative execution. ACM Transactions on Computer Systems, 11(4):376–408, November 1993.

    Google Scholar 

  14. J. E. Moreira, S. P. Midkiff, and M. Gupta. From flop to Megaflops: Java for technical computing. In Proceedings of the 11th International Workshop on Languages and Compilers for Parallel Computing, LCPC’98, 1998. IBM Research Report21166.

    Google Scholar 

  15. T. A. Proebsting, G. Townsend, P. Bridges, J. H. Hartman, T. Newsham, and S.A. Watterson. Toba: Java for applications: A way ahead of time (WAT) compiler. In Proceedings of the 3rd Conference on Object-Oriented Technologies and Systems, pages 41–54, Berkeley, June 16–20 1997. Usenix Association.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arnold, M., Hsiao, M., Kremer, U., Ryder, B. (2000). Instruction Scheduling in the Presence of Java’s Runtime Exceptions. In: Carter, L., Ferrante, J. (eds) Languages and Compilers for Parallel Computing. LCPC 1999. Lecture Notes in Computer Science, vol 1863. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44905-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-44905-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-44905-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics