An LLVM-based hybrid binary translation system

BY Shen, JY You, W Yang… - 7th IEEE International …, 2012 - ieeexplore.ieee.org
BY Shen, JY You, W Yang, WC Hsu
7th IEEE International Symposium on Industrial Embedded Systems …, 2012ieeexplore.ieee.org
Static binary translation (SBT) systems and dynamic binary translation (DBT) systems have
their own merits and disadvantages. SBT can perform whole-program optimizations and do
not incur run-time overheads. However, the code discovery and the code location problems
caused by indirect branches make SBT systems hard to develop. On the other hand, DBT
can perform optimizations based on program's runtime behaviors and can handle indirect
branches easily. However, because the translation time accounts for a part of the execution …
Static binary translation (SBT) systems and dynamic binary translation (DBT) systems have their own merits and disadvantages. SBT can perform whole-program optimizations and do not incur run-time overheads. However, the code discovery and the code location problems caused by indirect branches make SBT systems hard to develop. On the other hand, DBT can perform optimizations based on program's runtime behaviors and can handle indirect branches easily. However, because the translation time accounts for a part of the execution time, DBT systems cannot perform aggressive optimizations. Therefore, quality of the code generated by DBT is not as good as that by SBT. In this paper, we present a hybrid binary translation (HBT) system which combines the merits of both SBT and DBT. It leverages the LLVM infrastructure to translate source binary code, optimize, and generate target binary code. It first translates binary statically. If a run-time exception happens, the HBT system switches to dynamic translation. On the EEMBC benchmark suite, our experimental result shows that the HBT system can run about 4 to 20 times faster than a LLVM-based DBT system.
ieeexplore.ieee.org
Showing the best result for this search. See all results