Benzo: Reflective Glue for Low-level Programming

作者: Igor Stasenko , Stéphane Ducasse , Camillo Bruni , Guido Chari

DOI:

关键词:

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

参考文章(25)
Carl Friedrich Bolz, Adrian Kuhn, Adrian Lienhard, Nicholas D. Matsakis, Oscar Nierstrasz, Lukas Renggli, Armin Rigo, Toon Verwaest, Back to the Future in One Week — Implementing a Smalltalk VM in PyPy Self-Sustaining Systems. pp. 123- 139 ,(2008) , 10.1007/978-3-540-89275-5_7
Damien Cassou, Stéphane Ducasse, Damien Pollet, Andrew P. Black, Marcus Denker, Oscar Nierstrasz, Pharo by Example ,(2010)
Gregor Kiczales, Jim Des Rivieres, Daniel G Bobrow, The Art of the Metaobject Protocol ,(1991)
David Flanagan, Yukihiro Matsumoto, The Ruby Programming Language ,(2007)
Jens Palsberg, Andrew W. Appel, Modern Compiler Implementation in Java ,(1997)
Adele Goldberg, David Robson, Smalltalk-80: The Language and its Implementation ,(1983)
Mark B. Ballard, David Maier, Allen Wirfs-Brock, QUICKTALK: a Smalltalk-80 dialect for defining primitive methods conference on object oriented programming systems languages and applications. ,vol. 21, pp. 140- 150 ,(1986) , 10.1145/960112.28711
Greg Cooper, DTrace: dynamic tracing in oracle Solaris, Mac OS X, and free BSD by Brendan Gregg and Jim Mauro ACM Sigsoft Software Engineering Notes. ,vol. 37, pp. 34- 34 ,(2012) , 10.1145/2088883.2088902
Orla Greevy, Jorge Ressia, Marcus Denker, Oscar Nierstrasz, Modeling features at runtime model driven engineering languages and systems. ,vol. 6395, pp. 138- 152 ,(2010) , 10.5555/1929101.1929117