Existing approaches to interfacing high- and low-level code push considerable burdens onto the programmer, such as wrapper maintenance, explicit code generation, interface re-declaration, and/or signalling to garbage collectors. We note that run-time information on data layout and allocations in native code is available, and may be extended with knowledge of object lifetimes to assist in automating garbage collection. We describe work in progress towards an extension of the CPython virtual machine along these lines. We report initial experience building a first working prototype, and some early performance experiments.
Dimi Racordon University of Geneva, Centre Universitaire d'Informatique, Geneva, Switzerland, Didier Buchs University of Geneva, Centre Universitaire d'Informatique, Geneva, Switzerland