Methods and apparatus for optimizing programs in the presence of exceptions

作者: Michael Hind , Manish Gupta , Jong-Deok Choi

DOI:

关键词:

摘要: A method and several variants are provided for analyzing transforming a computer program such that instructions may be reordered even across throw an exception, while strictly preserving the precise exception semantics of original program. The uses analysis to identify subset state needs preserved if is thrown. Furthermore, performs transformation allows dependence constraints among potentially excepting completely ignored applying optimizations. This does not require any special hardware support, requires compensation code executed only thrown, i.e., no additional need Variants show how one or features performed.

参考文章(18)
Yoichiro Takeuchi, Masahiro Miura, Ryuji Sakai, Compile method, a compiler, an exception handler, and a program recording medium ,(1998)
Manish Gupta, Samuel Pratt Midkiff, Jose Eduardo Moreira, Method for optimizing array bounds checks in programs ,(1998)
Craig Chambers, Igor Pechtchanski, Vivek Sarkar, Mauricio J. Serrano, Harini Srinivasan, Dependence Analysis for Java languages and compilers for parallel computing. pp. 35- 52 ,(1999) , 10.1007/3-540-44905-1_3
Kemal Ebcioglu, Gabriel Mauricio Silberman, Handling of exceptions in speculative instructions ,(1996)
Hyacinth Sama Nwana, Divine Tamajong Ndumu, Lyndon Chi-Hang Lee, Software system generation ,(1998)
Grzegorz B. Zyner, Colin B. Hunter, Edmund J. Kelly, Malcolm John Wing, Robert F. Cmelik, David R. Ditzel, Douglas A. Laird, Combining hardware and software to provide an improved microprocessor ,(1996)
Robert Ralph Roediger, Keith Vernon Besaw, Robert John Donovan, Mikko Herman Lipasti, Mark Jonathon Hessler, Patrick Todd Haugen, Method and apparatus for enabling global compiler optimizations in the presence of exception handlers within a computer program ,(1996)
Alexander Aiken, John H. Williams, Edward L. Wimmers, Safe: a semantic technique for transforming programs in the presence of errors ACM Transactions on Programming Languages and Systems. ,vol. 17, pp. 63- 84 ,(1995) , 10.1145/200994.201002