Improving Indirect Branch Translation in Dynamic Binary Translators
Dynamic Binary Translators (DBTs) have a wide range of applications including program instrumentation, dynamic optimization, and security. One of the main issues with DBTs is their performance overhead. A significant part of this overhead is caused by Indirect Branch (IB) translation. In this paper, the authors show that the percentage of instructions spent in translating indirect branches can be as high as 50% of the total guest application's instructions, yet the locality of indirect branch targets is as high as 70%. They propose an indirect branch translation algorithm which exploits this available locality. They show that the proposed algorithm achieves a hit rate of 73% compared to 46.5% with the default algorithm.