GNU projects adopted Jitter Language Virtual Machine Generator

jitter Officially Routed under the wing of the GNU project and will now develop under the name GNU Jitter using the GNU infrastructure and in accordance with the requirements of this project . Jitter allows you to generate portable and very rapid virtual machines for arbitrary designs of programming languages, the performance of the code in which the interpreters is significantly ahead and is close to a native compile code. The initial texts of Jitte are written in the SI language and comes under the GPLv3 license.

Jitter takes a high-level specification of instructions supported by the virtual machine as the input data, and the output generates a ready implementation of a virtual machine to execute the specified instructions. The logic of each instruction in the specification is set using the code in the C language (see Example Specifications Virtual machine for LISP language). Of the additional features, it is noted support for those who are employed in the SI language and characteristic of the dynamic programming of conventional branch operations, such as checking tag values ​​and checking overflows.

The resulting virtual machine is drawn up in the C language with a small number of assembler inserts. Settings are provided to enable different optimizations and selection of dispatching mechanisms, which simplifies porting the virtual machine for different platforms. The use of a register, stack and combined execution architecture is supported, as well as the ability to reflect VM data structures into CPU hardware registers and the connection of garbage collectors. The generated code includes a simple C API for dynamic substitution and execution of the code in a virtual machine, as well as a driver program for a separate start in the code of the code from text files.

/Media reports.