Generating low-overhead dynamic binary translators
Dynamic (on the fly) binary translation is an important part of many software systems. In this paper we discuss how to combine efficient translation with the generation of efficient code, while providing a high-level table-driven user interface that simplifies the generation of the binary translator (BT). The translation actions of the BT are specified in high-level abstractions that are compiled into translation tables; these tables control the runtime program translation. This table generator allows a compact description of changes in the translated code. We use fastBT, a table-based dynamic binary translator that uses a code cache and various optimizations for indirect control transfers to illustrate the design tradeoffs in binary translators. We present an analysis of the most challenging sources of overhead and describe optimizations to further reduce these penalties. Keys to the good performance are a configurable inlining mechanism and adaptive self-modifying optimizations for indirect control transfers. Copyright 2010 ACM.
2-s2.0-77954994581
École Polytechnique Fédérale de Lausanne
ETH Zürich
2010
9781605589084
22
REVIEWED
OTHER
| Event name | Event acronym | Event place | Event date |
Israel | 2010-05-24 - 2010-05-26 | ||