计算机研究与发展
計算機研究與髮展
계산궤연구여발전
JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT
2008年
10期
1789-1798
,共10页
陈龙%武成岗%谢海斌%崔慧敏%张兆庆
陳龍%武成崗%謝海斌%崔慧敏%張兆慶
진룡%무성강%사해빈%최혜민%장조경
二进制翻译%挖掘代码%间接跳转%语义图%图匹配
二進製翻譯%挖掘代碼%間接跳轉%語義圖%圖匹配
이진제번역%알굴대마%간접도전%어의도%도필배
二进制翻译技术现已成为实现软件移植的重要手段.在二进制翻译系统中,如何有效地挖掘程序的代码并对其进行高效翻译是影响系统性能的关键,而二进制代码中间接跳转语句的存在,使得静态时难以得到它的跳转目标,影响了代码的发掘率和最终的翻译效果.在通常的应用程序中,间接跳转指令经常用来实现多目标分支语义,分支目标存放在跳转表中.提出了一种解析多目标分支语句及其跳转表的方法,能够挖掘出间接跳转的目标,进而对其进行有效翻译并提高二进制翻译系统的性能.该方法提出使用语义图来对预期语义进行刻画和表达.语义图能够对考察的指令序列进行语义提取,识别出与预期语义相匹配的指令流,还可以应对编译器在不同优化选项下生成的指令,并能有效滤除不相关指令带来的干扰.实验结果表明,对于SPEC CINT2000中的部分测试用例,代码翻译的覆盖率可以提高9.85%~22.13%,相应带来的性能提升可达到8.30%~17.71%,而使用的算法时间复杂度仅为O(1).
二進製翻譯技術現已成為實現軟件移植的重要手段.在二進製翻譯繫統中,如何有效地挖掘程序的代碼併對其進行高效翻譯是影響繫統性能的關鍵,而二進製代碼中間接跳轉語句的存在,使得靜態時難以得到它的跳轉目標,影響瞭代碼的髮掘率和最終的翻譯效果.在通常的應用程序中,間接跳轉指令經常用來實現多目標分支語義,分支目標存放在跳轉錶中.提齣瞭一種解析多目標分支語句及其跳轉錶的方法,能夠挖掘齣間接跳轉的目標,進而對其進行有效翻譯併提高二進製翻譯繫統的性能.該方法提齣使用語義圖來對預期語義進行刻畫和錶達.語義圖能夠對攷察的指令序列進行語義提取,識彆齣與預期語義相匹配的指令流,還可以應對編譯器在不同優化選項下生成的指令,併能有效濾除不相關指令帶來的榦擾.實驗結果錶明,對于SPEC CINT2000中的部分測試用例,代碼翻譯的覆蓋率可以提高9.85%~22.13%,相應帶來的性能提升可達到8.30%~17.71%,而使用的算法時間複雜度僅為O(1).
이진제번역기술현이성위실현연건이식적중요수단.재이진제번역계통중,여하유효지알굴정서적대마병대기진행고효번역시영향계통성능적관건,이이진제대마중간접도전어구적존재,사득정태시난이득도타적도전목표,영향료대마적발굴솔화최종적번역효과.재통상적응용정서중,간접도전지령경상용래실현다목표분지어의,분지목표존방재도전표중.제출료일충해석다목표분지어구급기도전표적방법,능구알굴출간접도전적목표,진이대기진행유효번역병제고이진제번역계통적성능.해방법제출사용어의도래대예기어의진행각화화표체.어의도능구대고찰적지령서렬진행어의제취,식별출여예기어의상필배적지령류,환가이응대편역기재불동우화선항하생성적지령,병능유효려제불상관지령대래적간우.실험결과표명,대우SPEC CINT2000중적부분측시용례,대마번역적복개솔가이제고9.85%~22.13%,상응대래적성능제승가체도8.30%~17.71%,이사용적산법시간복잡도부위O(1).