2013 20th Working Conference on Reverse Engineering (WCRE) (2002)
Oct. 29, 2002 to Nov. 1, 2002
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 use-less operations, a very fast liveness analysis is required.<div></div> 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.
B. Scholz, M. Probst, A. Krall, "Register Liveness Analysis for Optimizing Dynamic Binary Translation", 2013 20th Working Conference on Reverse Engineering (WCRE), vol. 00, no. , pp. 0035, 2002, doi:10.1109/WCRE.2002.1173062