节点文献

二进制翻译应用级异常处理

Exception Handling in Application Level Binary Translation

  • 推荐 CAJ下载
  • PDF下载
  • 不支持迅雷等下载工具,请取消加速工具后下载。

【作者】 唐锋武成岗张兆庆杨浩

【Author】 Tang Feng~ 1,2 , Wu Chenggang~1, Zhang Zhaoqing~1, and Yang Hao~ 1,2 ~ 1 (Advanced Compiler Technology Laboratory, Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100080) ~ 2 (Graduate University of Chinese Academy of Sciences, Beijing 100049)

【机构】 中国科学院计算技术研究所先进编译实验室中国科学院计算技术研究所先进编译实验室 北京100080中国科学院研究生院北京100049北京100080

【摘要】 二进制翻译可以用于解决遗产代码的迁移问题,也可以实现不同硬件平台之间软件的通用·异常处理是二进制翻译的一个重要方面,如何解决异常处理和二进制翻译效率的矛盾是问题的关键·提出了在库函数包装层面处理主动异常和被动异常的方法,一个算法可以高效处理信号异常,另一个算法使用栈展开技术,得到调用地址用于处理try catch异常·实验结果表明,上述方法能够正确处理异常函数,同时对于普通应用程序加入异常处理机制之后性能并不受影响·

【Abstract】 Binary translation is applied for not only the legacy code porting but also software being used in different hardware platform. Exception handling is a most important aspect of binary translation research. How to balance the exception handling and the efficiency of binary translation is the key problem. Two methods to solve the active and passive exception handling in the library function jacket level are presented. One algorithm comes up to deal with efficienly the passive exception such as signal exception efficiently:if the exception handler doesn’t use the machine state after exception happens, the translator doesn’t preserve the precise machine state in every block. Thus, the cost for exception handling is low. For the Spec 2000 CPU ref input set, the cost, when the algorithm is applied to the translator, is an average 15.42 percent lower than the cost when the algorithm is not applied to the system. Another algorithm using emulated stack unwinding is submitted to find the calling address to help dealing with the active exception such as try catch exception in C++ . The experiments prove the validity of the two ways of handling the exception. Adding the exception mechanics to the system doesn’t decrease the performance of the common programs. These algorithms solve the exception handler in the application level program in binary translation quickly and correctly.

【关键词】 二进制翻译异常库函数系统调用
【Key words】 binary translationexceptionlibrary functionsystem call
【基金】 国家自然科学基金项目(60103006,60403017)~~
  • 【文献出处】 计算机研究与发展 ,Journal of Computer Research and Development , 编辑部邮箱 ,2006年12期
  • 【分类号】TP311.52
  • 【被引频次】8
  • 【下载频次】91
节点文献中: 

本文链接的文献网络图示:

本文的引文网络