libJIT | |
---|---|
Tipo de | Biblioteca para compilación JIT |
Desarrollador | software de código abierto |
Sistema operativo | Software multiplataforma |
ultima versión | 0.1.2 (12 de diciembre de 2008) |
Licencia | GNU LGPL |
Sitio web | gnu.org/software/libjit/ |
Libjit es una biblioteca de compilación JIT que le permite compilar fragmentos de bytecode en código de máquina en tiempo de ejecución.
Originalmente creado por Reese Weatherly y Norbert Bollow para la Free Software Foundation bajo el Proyecto DotGNU . Más tarde, Libjit fue desarrollado por Kirill Kononenko, Klaus Treychel, Alexey Demakov. El diseño de la biblioteca Libjit contiene un amplio conjunto de funciones que se encargan del proceso de compilación en tiempo de ejecución, sin vincular al programador con detalles específicos del lenguaje o del código de bytes. A diferencia de otros sistemas como JVM , .NET y Parrot , LibJIT es la base para crear una gran cantidad de máquinas virtuales, lenguajes de secuencias de comandos dinámicos. LibJIT es una contraparte menos funcional de LLVM . Gran parte del trabajo del compilador sobre la marcha se trata de aritmética, conversión de tipos, lectura y escritura desde la memoria, bucles, análisis de gráficos de flujo de datos, asignación de registros y generación de código de máquina ejecutable. Solo una parte muy pequeña del trabajo se ocupa de las especificidades del lenguaje. El objetivo del proyecto LibJIT es proporcionar un conjunto de herramientas de compilación sobre la marcha sin atar al programador a las especificaciones del lenguaje.
El proyecto LibJIT se desarrolló entre 2004 [1] y 2008.