Sciweavers

ECOOP
2000
Springer

Optimizing Java Programs in the Presence of Exceptions

13 years 9 months ago
Optimizing Java Programs in the Presence of Exceptions
The support for precise exceptions in Java, 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 novel framework that allows a compiler to relax these constraints. We first present an algorithm using dynamic analysis, and a variant using static analysis, to identify the subset of program state that need not 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. Our dynamic algorithm is particularly suitable for dynamically dispatched methods in object-oriented languages, where static analysis may be quite conservative. We then present the first software-only solution that allows dependence constraints among PEIs to be completely ignored while applying program optimizations, with no need to execute any additi...
Manish Gupta, Jong-Deok Choi, Michael Hind
Added 02 Aug 2010
Updated 02 Aug 2010
Type Conference
Year 2000
Where ECOOP
Authors Manish Gupta, Jong-Deok Choi, Michael Hind
Comments (0)