Collapsing towers of interpreters
Abstract
Given a tower of interpreters, i.e., a sequence of multiple interpreters interpreting one another as input programs, we aim to collapse this tower into a compiler that removes all interpretive overhead and runs in a single pass. In the real world, a use case might be Python code executed by an x86 runtime, on a CPU emulated in a JavaScript VM, running on an ARM CPU. Collapsing such a tower can not only exponentially improve runtime performance, but also enable the use of base-language tools for interpreted programs, e.g., for analysis and verification. In this paper, we lay the foundations in an idealized but realistic setting.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Dec 27, 2017
- Source ID
- 10.1145/3158140
Entities
People
- Nada Amin
- Tiark Rompf
Organizations
- European Research Council
- National Science Foundation
- Purdue University
- United States Department of Defense
- University of Cambridge