Proceedings of ISP RAS

Optimizations in Dynamic Binary Translation.

Kirill Batuzov, Alexey Merkulov.


Binary translation is a process of constructing program Q's binary code from program P's binary code according to a certain specification. If a binary translation is performed in runtime it is called dynamic binary translation. We evaluate application of different optimizations during dynamic binary translation. We improve lookup of existing translation block in translation cache in QEMU, evaluate impact of register allocation algorithm on program performance in QEMU, implement simple machine independent optimizations in QEMU and implement an instruction scheduler in Valgrind. The improvement of translation block lookup gives the greatest speedup among all these optimizations. Instruction scheduler in Valgrind is promising too.


program optimizations, dynamic binary translation, QEMU, Valgrind


Proceedings of the Institute for System Programming, vol. 20, 2011, pp. 37-50.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

Full text of the paper in pdf (in Russian) Back to the contents of the volume