首页 | 本学科首页   官方微博 | 高级检索  
     

IA-64代码翻译中的跳转表恢复技术
引用本文:齐宁,赵荣彩.IA-64代码翻译中的跳转表恢复技术[J].计算机工程,2006,32(23):49-51.
作者姓名:齐宁  赵荣彩
作者单位:解放军信息工程大学计算机系,郑州,450002
摘    要:在对IA-64二进制代码进行翻译的过程中,一个重要的问题就是识别和恢复通过跳转表实现的switch语句。分析了编译器生成跳转表时采用的策略,提出了前向预取同反向切片及表达式置换相结合以识别和恢复switch语句的技术,归纳了用于获取跳转表地址的规格化形式,给出了跳转表分支目标地址恢复方法,从而可将包含跳转表的IA-64二进制代码恢复为高级switch语句。该技术已经在二进制翻译框架I2A上进行了测试,可以处理编译器gcc 2.96及gcc 3.2.3在多种优化级别下生成的IA-64代码。

关 键 词:IA-64  跳转表  切片  表达式置换
文章编号:1000-3428(2006)23-0049-03
收稿时间:02 21 2006 12:00AM
修稿时间:2006-02-21

Jump Table Recovery Technique in IA-64 Binary Code Translation
QI Ning,ZHAO Rongcai.Jump Table Recovery Technique in IA-64 Binary Code Translation[J].Computer Engineering,2006,32(23):49-51.
Authors:QI Ning  ZHAO Rongcai
Affiliation:Department of Computer, PLA Information and Engineering University, Zhengzhou 450002
Abstract:In the translation of IA-64 binary code, one of the important problems is that of recognizing the switch statements implemented via jump table. The paper first analyzes the compiler’s strategies when creating jump table, then presents a technique for recognizing and recovering switch statements by combination of forward prefetch and backwards slicing plus expression substitution, reduces to a normal form which allows people to determine where the jump table is located, proposes a method to recovery the target addresses of jump table. Using such a technique, it can translate the IA-64 binary code that contains jump table into high level switch statements. The presented technique is tested in a binary translation framework I2A. The test shows that the technique is suitable for IA-64 binary code generated by compiler gcc 2.96 and gcc 3.2.3 with multi optimization options.
Keywords:IA-64
本文献已被 CNKI 维普 万方数据 等数据库收录!
点击此处可从《计算机工程》浏览原始摘要信息
点击此处可从《计算机工程》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号