Exploring the Interaction between Java's Implicitly Thrown Exceptions and Instruction Scheduling

  • Authors:
  • Matthew Arnold;Michael Hsiao;Ulrich Kremer;Barbara G. Ryder

  • Affiliations:
  • Department of Computer Science, Rutgers University, Piscataway, New Jersey 08855. {marnold,uli,ryder}@cs.rutgers.edu;Department of Electrical and Computer Engineering, Rutgers University, Piscataway, New Jersey 08855. mhsiao@ece.rutgers.edu;Department of Computer Science, Rutgers University, Piscataway, New Jersey 08855. {marnold,uli,ryder}@cs.rutgers.edu;Department of Computer Science, Rutgers University, Piscataway, New Jersey 08855. {marnold,uli,ryder}@cs.rutgers.edu

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The frequent occurrence of implicitly thrown exceptions poses one of the challenges present in a Java compiler. Not only do these implicitly thrown exceptions directly affect the performance by requiring explicit checks, they also indirectly impact the performance by restricting code movement in order to satisfy the precise exception model in Java. In particular, instruction scheduling is one transformation that is restricted by implicitly thrown exceptions due to the heavy reliance on reordering instructions to exploit maximum hardware performance. The goal of this study is two-fold: first, investigate the degree to which implicitly thrown exceptions in Java hinder instruction scheduling, and second, find new techniques for allowing more efficient execution of Java programs containing implicitly thrown exceptions. Experimental results show that with aggressive scheduling techniques, such as superblock scheduling, the negative performance impact can be greatly reduced.