Instruction Scheduling in the Presence of Java's Runtime
Exceptions
Matthew Arnold, Michael Hsiao, Ulrich Kremer, Barbara Ryder
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. Instruction 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.
Preprint PS