Skip to main content

Building Efficient and Highly Run-time Adaptable Virtual Machines

Chari, Guido, Garbervetsky, Diego, Marr, Stefan (2016) Building Efficient and Highly Run-time Adaptable Virtual Machines. In: ACM SIGPLAN Notices. DLS 2016 Proceedings of the 12th Symposium on Dynamic Languages. 52 (2). pp. 60-71. ACM ISBN 978-1-4503-4445-6. (doi:10.1145/2989225.2989234) (KAR id:63814)

PDF Author's Accepted Manuscript
Language: English
Download (357kB)
[thumbnail of dls16-chari-et-al-building-efficient-and-highly-run-time-adaptable-virtual-machines.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


Programming language virtual machines (VMs) realize language semantics, enforce security properties, and execute applications efficiently. Fully Reflective Execution Environments (EEs) are VMs that additionally expose their whole structure and behavior to applications. This enables developers to observe and adapt VMs at run time. However, there is a belief that reflective EEs are not viable for practical usages because such flexibility would incur a high performance overhead. To refute this belief, we built a reflective EE on top of a highly optimizing dynamic compiler. We introduced a new optimization model that, based on the conjecture that variability of low-level (EE-level) reflective behavior is low in many scenarios, mitigates the most significant sources of the performance overheads related to the reflective capabilities in the EE. Our experiments indicate that reflective EEs can reach peak performance in the order of standard VMs. Concretely, that a) if reflective mechanisms are not used the execution overhead is negligible compared to standard VMs, b) VM operations can be redefined at language-level without incurring in significant overheads, c) for several software adaptation tasks, applying the reflection at the VM level is not only lightweight in terms of engineering effort, but also competitive in terms of performance in comparison to other ad-hoc solutions.

Item Type: Conference or workshop item (Proceeding)
DOI/Identification number: 10.1145/2989225.2989234
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 08 Nov 2017 22:35 UTC
Last Modified: 09 Dec 2022 06:46 UTC
Resource URI: (The current URI for this page, for reference purposes)
Marr, Stefan:
  • Depositors only (login required):


Downloads per month over past year