Optimizing binary translation of dynamically generated code

Code Generation and Optimization(2015)

引用 39|浏览46
暂无评分
摘要
Dynamic binary translation serves as a core technology that enables a wide range of important tools such as profiling, bug detection, program analysis, and security. Many of the target applications often include large amounts of dynamically generated code, which poses a special performance challenge in maintaining consistency between the source application and the translated application. This paper introduces two approaches for optimizing binary translation of JITs and other dynamic code generators. First we present a system of efficient source code annotations that allow developers to demarcate dynamic code regions and identify code changes within those regions. The second technique avoids the annotation and source code requirements by automatically inferring the presence of a JIT and instrumenting its write instructions with translation consistency operations. We implemented these techniques in DynamoRIO and demonstrate performance improvements over the state-of-the-art DBT systems on JIT applications as high as 7.3X over base DynamoRIO and Pin.
更多
查看译文
关键词
program diagnostics,program interpreters,security of data,software fault tolerance,software maintenance,software performance evaluation,source code (software),system recovery,DynamoRIO,JIT,bug detection,code change identification,consistency maintenance,dynamic binary translation optimization,dynamic code generators,dynamic code regions,performance improvements,profiling,program analysis,security,source code annotations,translation consistency operations
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要