Return Instruction Analysis and Optimization in Dynamic Binary Translation

Sun Tingtao,Yang Yindong,Yang Hongbo,Guan Haibing,Liang Alei
DOI: https://doi.org/10.1109/fcst.2009.35
2009-01-01
Abstract:Dynamic Binary Translation (DBT) is widely re-searched and used to support legacy binary code, pro-vide program instrumentation, improve code performance, and so on. The performance of a DBT system is always an essential issue. And a major source of over-head is the execution of the indirect branch in source code, because it requires extra instructions to resolve the target address. In this paper, we present an improved return cache scheme with relative low overhead to handle the return instruction, the most important form of indirect branch. On dealing with the source return instruction, the overhead caused by our method is only 1%~4% to the native execution for most SPEC CPU2000 INT benchmarks (2.5% on average), which is acceptable in a DBT system.
What problem does this paper attempt to address?