Dynamic binary translation (DBT) is the cornerstone of many important applications. Yet, it takes a tremendous effort to develop and maintain a real-world DBT system. To mitigate the engineering effort, helper functions are frequently employed during the development of a DBT system. Though helper functions greatly facilitate the DBT development, their adoption incurs substantial performance overhead due to the helper function calls. To solve this problem, this paper presents a novel approach to inline helper functions in DBT systems. The proposed inlining approach addresses several unique technical challenges. As a result, the performance overhead introduced by helper function calls can be reduced, and meanwhile, the benefits of helper functions for DBT development are not lost. We have implemented a prototype based on the proposed inlining approach using a popular DBT system, QEMU. Experimental results on the benchmark programs from the SPEC CPU 2017 benchmark suite show that an average of 1.2x performance speedup can be achieved. Moreover, the translation overhead introduced by inlining helper functions is negligible.
Wed 3 MarDisplayed time zone: Eastern Time (US & Canada) change
11:10 - 11:55 | Code Generation & Binary AnalysisCC Research Papers at CC Virtual Room Chair(s): Bernhard Egger Seoul National University | ||
11:10 15mTalk | Helper Function Inlining in Dynamic Binary Translation CC Research Papers Wenwen Wang University of Georgia | ||
11:25 15mTalk | Lightning BOLT: Powerful, Fast, and Scalable Binary Optimization CC Research Papers Maksim Panchenko Facebook, Rafael Auler Facebook, Laith Sakka Purdue University, Guilherme Ottoni Facebook | ||
11:40 15mTalk | Compact Native Code Generation for Dynamic Languages on Micro-core Architectures CC Research Papers |