DocumentCode
3081292
Title
Register liveness analysis for optimizing dynamic binary translation
Author
Probst, Mark ; Krall, Andreas ; Scholz, Bernhard
Author_Institution
CD Lab. for Compilation Techniques, Tech. Univ. Wien, Austria
fYear
2002
fDate
2002
Firstpage
35
Lastpage
44
Abstract
Dynamic binary translators compile machine code from a source architecture to a target architecture at run time. Due to the hard time constraints of just-in-time compilation only highly efficient optimization algorithms can be employed. Common problems are an insufficient number of registers on the target architecture and the different handling of condition codes in source and target architecture. Without optimizations useless stores and computations are generated by the dynamic binary translator and cause significant performance losses. In order to eliminate these useless operations, a very fast liveness analysis is required. We present a dynamic liveness analysis algorithm that trades precision for fast execution and conducted experiments with the SpecInt95 benchmark suite using our PowerPC to Alpha translator. The optimizations reduced the number of stores by about 50 percent. This resulted in a speed-up of 10 to 30 percent depending on the target machine. The dynamic liveness analysis results are very close to the most precise solution.
Keywords
data flow analysis; optimising compilers; binary translators; dynamic liveness analysis; just-in-time compilation; liveness analysis; optimizations; target architecture; Algorithm design and analysis; Computer architecture; Constraint optimization; Dynamic compiler; Heuristic algorithms; Iterative algorithms; Laboratories; Performance loss; Registers; Time factors;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering, 2002. Proceedings. Ninth Working Conference on
ISSN
1095-1350
Print_ISBN
0-7695-1799-4
Type
conf
DOI
10.1109/WCRE.2002.1173062
Filename
1173062
Link To Document