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

Tags

Fields of Study

  • Computer science
  • Engineering

Readers

  • Atmospheric Science / Meteorology, specifically Wind Wave Turbulence.
  • Database Systems and Applications
  • Parallel and Distributed Computing.