Date Added: Apr 2012
The support for precise exceptions in optimizing Java program states, combined with frequent checks for runtime exceptions, leads to severe limitations on the compiler's ability to perform program optimizations that involve reordering of instructions. This paper presents a basic framework that allows the application programmers to recognize the constraints of application programs in instruction scheduling. The authors first present a formulated way for analyzing the problem caused in coded program and its related Exception-handling constructs, and a methodology, to identify the subset of program state that needs to be preserved if an exception is thrown. This allows many spurious dependence constraints between Potentially Excepting Instructions (PEIs) and writes into variables to be eliminated.