GNU lightning
Appearance
GNU lightning | |
---|---|
Developer(s) | GNU Project |
Initial release | January 19, 2001[1] |
Stable release | hosted in git repository
|
Repository | |
Operating system | Cross-platform |
Platform | GNU |
Type | Just-in-time compilation |
License | GNU General Public License, GNU Lesser General Public License |
Website | http://www.gnu.org/software/lightning/ |
GNU lightning is a free software library that generates assembly language code at run-time. Supported backends are SPARC (32-bit), x86 (32- and 64-bit) and PowerPC (32-bit). An ARM port is under way[2].
Advantages Over Other Libraries
The features GNU lightning provides make it useful for just-in-time compiler applications. As opposed to libraries such as LLVM or libJIT, it only provides a low-level interface that assembles a standardized RISC architecture loosely based on the SPARC and MIPS[3] into the target architecture's machine language.
Disadvantages
It does not provide register allocation, data-flow, and control-flow analysis, or optimization.
Projects that use GNU Lightning
Racket, GNU Smalltalk, and CLISP[4] make use of GNU lightning for just-in-time compilation.
References
- ^ "ChangeLog". GNU Project. Retrieved 2009-02-22.
- ^ Message stating start of work of ARM port
- ^ "Using and porting GNU lightning". Retrieved 2009-02-22.
- ^ "Implementation notes for GNU CLISP". Retrieved 2009-02-23.