计算机科学与探索 ›› 2011, Vol. 5 ›› Issue (7): 613-623.
陈顼颢, 郑 重, 沈 立, 王志英
CHEN Xuhao, ZHENG Zhong, SHEN Li, WANG Zhiying
摘要: 二进制翻译技术能够有效解决二进制兼容问题, 促进新型体系结构的发展, 也是虚拟机技术的重要组成部分, 具有重要的研究和应用价值, 但是其效率仍然有待提升, 特别是目标代码生成的效率。设计了一种高效的目标代码生成算法——代码生成的子图覆盖算法(subgraph covering for code generation, SCCG), 能够以尽可能少的代价生成精简的目标代码。该算法应用数据流图对二进制代码中的基本块进行建模, 获取指令间的数据相关, 并采用基于子图覆盖的贪心算法得到目标代码。在TransARM原型系统中进行了实现和测试, 结果表明该算法获得了更优质的目标代码, 并且成本得到了有效控制。