TY - GEN
T1 - An LLVM-based hybrid binary translation system
AU - Shen, Bor Yeh
AU - You, Jyun Yan
AU - Yang, Wuu
AU - Hsu, Wei Chung
PY - 2012
Y1 - 2012
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=84871566229&partnerID=8YFLogxK
U2 - 10.1109/SIES.2012.6356589
DO - 10.1109/SIES.2012.6356589
M3 - Conference contribution
AN - SCOPUS:84871566229
SN - 9781467326841
T3 - 7th IEEE International Symposium on Industrial Embedded Systems, SIES 2012 - Conference Proceedings
SP - 229
EP - 236
BT - 7th IEEE International Symposium on Industrial Embedded Systems, SIES 2012 - Conference Proceedings
T2 - 7th IEEE International Symposium on Industrial Embedded Systems, SIES 2012
Y2 - 20 June 2012 through 22 June 2012
ER -