Partial Cross-Compilation and Mixed Execution for Accelerating Dynamic Binary Translation
By: Yuhao Gu , Zhongchun Zheng , Nong Xiao and more
Potential Business Impact:
Runs old computer programs on new computers faster.
With the growing diversity of instruction set architectures (ISAs), cross-ISA program execution has become common. Dynamic binary translation (DBT) is the main solution but suffers from poor performance. Cross-compilation avoids emulation costs but is constrained by an "all-or-nothing" model-programs are either fully cross-compiled or entirely emulated. Complete cross-compilation is often unfeasible due to ISA-specific code or missing dependencies, leaving programs with high emulation overhead. We propose a hybrid execution system that combines compilation and emulation, featuring a selective function offloading mechanism. This mechanism establishes cross-environment calling channels, offloading eligible functions to the host for native execution to reduce DBT overhead. Key optimizations address offloading costs, enabling efficient hybrid operation. Built on LLVM and QEMU, the system works automatically for both applications and libraries. Evaluations show it achieves up to 13x speedups over existing DBT, with strong practical value.
Similar Papers
LibIHT: A Hardware-Based Approach to Efficient and Evasion-Resistant Dynamic Binary Analysis
Cryptography and Security
Finds hidden computer viruses without slowing them down.
Instruction Set Migration at Warehouse Scale
Software Engineering
Helps computers switch to new brains faster.
CrossTL: A Universal Programming Language Translator with Unified Intermediate Representation
Programming Languages
Translates code between many computer languages.