Skip to Main Content
Dynamic binary translation (DBT) is a just-in-time technology of compiler. It is used to support the binary translation, dynamic optimization, program instrumentation, virtualization and so on. How to improve performance is the core research issues about dynamic binary translation technology. Many researches show that how to handle the indirect branch instruction has a key impact about the performance of DBT. Some methods are proposed to handle the indirect branch. But there are some limitations for these methods. This paper analyzes the locality of target address of the indirect branch. The experiment indicates that there is a well locality about the distribution of target address. To make use of this feature, we propose a novel algorithm to quickly predict the target address for indirect branch. For a given indirect branch, we add a private buffer to cache its all previous target address. When translator meets an indirect branch, it predicts the target address from the private buffer firstly. This way increases the predication hit rate of the target address for indirect branch and reduce the number of context switching in a DBT system. It also effectively improves the whole performance for the dynamic binary translation technology.