case sensitive

Sort by: Display: Hide controls:

  1. Camillo Bruni, Luc Fabresse, Stéphane Ducasse, and Igor Stasenko. Benzo: Reflective Glue for Low-level Programming. In International Workshop on Smalltalk Technologies 2014, 2014. 

    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 gen- erate and execute at runtime low-level code (assembly). It promotes the implementation, and dynamic modification, of system components with high-level language tools outper- forming existing dynamic solutions. Since Benzo is a general framework we choose three ap- plications 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 program- ming, Benzo shows better performance for these three ap- plications than the comparable high-level implementations.