Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Dynamic Optimization of IA-32 Applications Under DynamoRIO

Summary: Dynamic Optimization of IA-32 Applications
Under DynamoRIO
Timothy Garnett
Submitted to the Department of Electrical Engineering and Computer Science
in Partial Fulfillment of the Requirements for the Degree of Master of
Engineering in Computer Science
The ability of compilers to optimize programs statically is diminishing. The advent and
increased use of shared libraries, dynamic class loading, and runtime binding means that the
compiler has, even with difficult to accurately obtain profiling data, less and less knowledge
of the runtime state of the program. Dynamic optimization systems attempt to fill this gap
by providing the ability to optimize the application at runtime when more of the system's
state is known and very accurate profiling data can be obtained. This thesis presents two
uses of the DynamoRIO runtime introspection and modification system to optimize
applications at runtime. The first is a series of optimizations for interpreters running under
DynamoRIO's logical program counter extension. The optimizations include extensions to
DynamoRIO to allow the interpreter writer add a few annotations to the source code of his
interpreter that enable large amounts of optimization. For interpreters instrumented as such,
improvements in performance of 20 to 60 percent were obtained. The second use is a


Source: Amarasinghe, Saman - Computer Science and Artificial Intelligence Laboratory & Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology (MIT)


Collections: Computer Technologies and Information Sciences