Unspeculation

Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations--possibly even before it is known whether the results of the operation are needed. While such speculative execution can improve execution performance con...

Full description

Saved in:
Bibliographic Details
Published in18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings pp. 205 - 214
Main Authors Snavely, Noah, Debray, Saumya, Andrews, Gregory
Format Conference Proceeding
LanguageEnglish
Published Piscataway, NJ, USA IEEE Press 06.10.2003
IEEE
SeriesACM Conferences
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations--possibly even before it is known whether the results of the operation are needed. While such speculative execution can improve execution performance considerably, it requires a significant amount of complex support code to deal with and recover from speculation failures. This greatly complicates the tasks of understanding and re-engineering speculative code. This paper describes a technique for removing speculative instructions from optimized binary programs in a way that is guaranteed to preserve program semantics, thereby making the resulting "unspeculated" programs easier to understand and more amenable to re-engineering using traditional reverse engineering techniques.
ISBN:0769520359
9780769520353
ISSN:1938-4300
2643-1572
DOI:10.1109/ASE.2003.1240308