A Two-Phase Optimization Approach for Condition Codes in a Machine Adaptable Dynamic Binary Translator
Computer Science and Information Engineering, World Congress on (2009)
Los Angeles, California USA
Mar. 31, 2009 to Apr. 2, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSIE.2009.275
Condition codes (CCs) are special architected bits that characterize instruction results. Reducing the overhead of emulating condition codes is a critical performance issue in binary translation. In this paper, we propose a two-phase optimization approach for condition codes, which has been implemented in Crossbit—a machine adaptable dynamic binary translator (DBT). First, redundant flag computing code in a basic block is reduced based on the information collected by Crossbit when the block is identified. Then, lazy evaluation technique is used inter basic blocks, which make the condition codes emulation more efficient. Experimental results show that this method works much better than the straightforward emulation method—it eliminate the code size more than 20% and have a performance gain nearly 40% in Crossbit. The data proves that the approach is effective to remove the redundant code and to increase the performance of the translated code.
L. Alei, G. Haibing, C. Chao and Z. Yuyu, "A Two-Phase Optimization Approach for Condition Codes in a Machine Adaptable Dynamic Binary Translator," 2009 WRI World Congress on Computer Science and Information Engineering, CSIE(CSIE), Los Angeles, CA, 2009, pp. 29-32.