M. Arnold et al., Exploring the interaction between Java's implicitly thrown exceptions and instruction scheduling, INT J P PRO, 29(2), 2001, pp. 111-137
The frequent occurrence of implicitly thrown exceptions poses one of the ch
allenges present in a Java compiler. Not only do these implicitly thrown ex
ceptions directly affect the performance by requiring explicit checks, they
also indirectly impact the performance by restricting code movement in ord
er to satisfy the precise exception model in Java. In particular, instructi
on 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, i
nvestigate the degree to which implicitly thrown exceptions in Java hinder
instruction scheduling, and second, find new techniques For allowing more e
fficient execution of Java programs containing implicitly thrown exceptions
. Experimental results show that with aggressive scheduling techniques, suc
h as superblock scheduling, the negative performance impact can be greatly
reduced.