Morales Caballero, José Francisco and Carro Liñares, Manuel and Puebla Sánchez, Alvaro Germán and Hermenegildo, Manuel V.
A generator of efficient abstract machine implementations and its application to emulator minimization.
In: "21st International Conference, ICLP 2005", October 2-5, 2005, Sitges, Spain. ISBN 9783540292081.
The implementation of abstract machines involves complex
decisions regarding, e.g., data representation, opcodes, or instruction specialization levéis, all of which affect the final performance of the emulator and the size of the bytecode programs in ways that are often difficult to
foresee. Besides, studying alternatives by implementing abstract machine variants is a time-consuming and error-prone task because of the level of complexity and optimization of competitive implementations, which makes them generally difficult to understand, maintain, and modify. This also makes it hard to genérate specific implementations for particular purposes. To ameliorate those problems, we propose a systematic approach to the automatic generation of implementations of abstract machines. Different parts of their definition (e.g., the instruction set or the infernal data and bytecode representation) are kept sepárate and automatically
assembled in the generation process. Alternative versions of the abstract machine are therefore easier to produce, and variants of their implementation can be created mechanically, with specific characteristics for a particular application if necessary. We illustrate the practicality of the approach by reporting on an implementation of a generator of production-quality WAMs which are specialized for executing a particular fixed (set of) program(s). The experimental results show that the
approach is effective in reducing emulator size.