Benzo: Reflective Glue for Low-level Programming - Archive ouverte HAL Access content directly
Conference Papers Year : 2014

Benzo: Reflective Glue for Low-level Programming


The goal of high-level low-level programming is to bring the abstraction capabilities of high-level languages to the system programming domain, such as virtual machines (VMs) and language runtimes. However, existing solutions are bound to compilation time and expose limited possibilities to be changed at runtime and from language-side. They do not fit well with fully reflective languages and environments. We propose Benzo1, a lightweight framework for high- level low-level programming that allows developers to generate and execute at runtime low-level code (assembly). It promotes the implementation, and dynamic modification, of system components with high-level language tools outperforming existing dynamic solutions. Since Benzo is a general framework we choose three applications that cover an important range of the spectrum of system programming for validating the infrastructure: a For- eign Function Interface (FFI), primitives instrumentation and a just-in-time bytecode compiler (JIT). With Benzo we show that these typical VM-level components are feasible as reflective language-side implementations. Due to its unique combination of high-level reflection and low-level programming, Benzo shows better performance for these three applications than the comparable high-level implementations.
Fichier principal
Vignette du fichier
paper.pdf (2.29 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-01060551 , version 1 (03-09-2014)


  • HAL Id : hal-01060551 , version 1


Camillo Bruni, Stéphane Ducasse, Igor Stasenko, Guido Chari. Benzo: Reflective Glue for Low-level Programming. International Workshop on Smalltalk Technologies, Aug 2014, Cambridge, United Kingdom. ⟨hal-01060551⟩
292 View
127 Download


Gmail Facebook Twitter LinkedIn More