Methods and apparatus for optimizing programs in the presence of exceptions
AssigneeInternational Business Machines Corporation
InventorsJong-Deok Choi, Manish Gupta, Michael Hind
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsJong-Deok Choi, Manish Gupta, Michael Hind
Estimating the term…
A method and several variants are provided for analyzing and transforming a computer program such that instructions may be reordered even across instructions that may throw an exception, while strictly preserving the precise exception semantics of the original program. The method uses program analysis to identify the subset of program state that needs to be preserved if an exception is thrown. Furthermore, the method performs a program transformation that allows dependence constraints among potentially excepting instructions to be completely ignored while applying program optimizations. This transformation does not require any special hardware support, and requires a compensation code to be executed only if an exception is thrown, i.e., no additional instructions need to be executed if an exception is not thrown. Variants of the method show how one or several of the features of the method may be performed.
A method of optimizing a computer program written in a language that supports exceptions with a constraint that a write statement can not be moved across a potentially excepting instruction, the method comprising the steps of:
A method of optimizing a computer program written in a language that supports exceptions, the method comprising the steps of:
Apparatus for optimizing a computer program written in a language that supports exceptions with a constraint that a write statement can not be moved across a potentially excepting instruction, the apparatus comprising:
Apparatus for optimizing a computer program written in a language that supports exceptions, the apparatus comprising:
An article of manufacture for optimizing a computer program written in a language that supports exceptions with a constraint that a write statement can not be moved across a potentially excepting instruction, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
An article of manufacture for optimizing a computer program written in a language that supports exceptions, comprising a machine readable medium containing one or more programs which when executed implement the steps of:
A method of optimizing a computer program written in a language that supports exceptions with a constraint that a write statement can not be moved across a potentially excepting instruction, the method comprising the steps of:
A method of optimizing a computer program written in a language that supports exceptions, the method comprising the steps of:
A method of optimizing a computer program written in a language that supports exceptions, the method comprising the steps of:
Dependencies are inferred from the claim text.