Skip to Main content Skip to Navigation

Towards Self-aware Virtual Machines

Camillo Bruni 1 
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : High-level languages implement reflection which allows a language runtime to inspect and alter its own execution and state. These high-level languages typically run on top of virtual machines (vms) which have been built to create an abstraction layer over hardware. Due to the isolating nature of the vm, reflection is generally limited to the language-side. Several research vms overcome this separation and provide a unified model where there is no more a clear distinction between language-side and vm-side. In such a language runtime it is possible to reflectively modify vm components from language-side as they reside on the same abstraction layer. In this dissertation we follow the same global direction towards a unified language-runtime or self-aware vm. However, instead of looking for a holistic solution we focus on a minimal approach. Instead of using a custom tailored language runtime we use dynamic native code activation from language-side on top of an existing vm. We first present Benzo our framework for dynamic native code activation. Benzo provides a generic but low-level interface to the vm internals. Based on this framework we then evaluate several applications that typically require direct vm support. We show first how Benzo is used to build an efficient ffi interface, allowing for a more structured access to vm internal functions. To evaluate the limitations of Benzo we target two more applications: dynamic primitives and a language-side jit compiler. Both of them require a tight interaction with the underlying vm.
Document type :
Complete list of metadata

Cited literature [52 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Friday, December 19, 2014 - 2:16:29 PM
Last modification on : Thursday, January 20, 2022 - 5:31:20 PM
Long-term archiving on: : Monday, March 23, 2015 - 5:52:00 PM


  • HAL Id : tel-01097323, version 1


Camillo Bruni. Towards Self-aware Virtual Machines. Programming Languages [cs.PL]. Université Lille 1 - Sciences et Technologies, 2014. English. ⟨tel-01097323⟩



Record views


Files downloads