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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
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.
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.
J. A. Fisher. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput., C-30(7):478–490, 1981.
J. Gosling, B. Joy, and G. L. Steele. The Java™ Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA 1996.
J. L. Hennessy and D. A. Patterson. Computer Archetecture A Quantitative Approach. Morgan Kaufmann Publishers Inc., Santo Mateo,California, 1990. 3rd Printing.
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.
Intel. Ia-64 application developer’s architecture guide. URL: http://developer.intel.com/design/ia64, 1999.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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