This article has multiple issues.
Please help or discuss these issues on the improve it . talk page
GNU lightning is a free software library for generating assembly language code at run-time. Newly released version 2.0 supports backends for [3 ] SPARC (32-bit), x86 (32- and 64-bit), MIPS, ARM, ia64, HPPA and PowerPC (32-bit).
Advantages Over Other Libraries [ edit ]
The features GNU lightning provides make it useful for
Just-in-Time Compilation. In comparison to libraries such as LLVM or libJIT, GNU lightning provides only a low-level interface for assembling from a standardized RISC assembly language—loosely based on the SPARC and MIPS architectures —into the target architecture's machine language. [4 ]
Disadvantages [ edit ]
It does not provide
register allocation, data-flow or control-flow analysis, or optimization.
Instruction set [ edit ]
GNU lightning's instruction set is based loosely on existing
When required instructions handle data with these 9 types:
Projects that use GNU lightning [ edit ]
Racket, [5 ] GNU Smalltalk, and [6 ] CLISP make use of GNU lightning for [7 ] just-in-time compilation. GNU lightning was first developed as a tool to be used in GNU Smalltalk’s dynamic translator from bytecodes to native code. [8 ]
References [ edit ]
^ "ChangeLog". GNU Project . Retrieved 2009-02-22.
^ Andrade, Paulo César Pereira de (2013-11-04). "GNU lightning 2.0.2 released!". lightning . https://lists.gnu.org/archive/html/lightning/2013-11/msg00000.html . Retrieved 2013-11-09.
^ Release announcement. 2013-08-23
^ "Using and porting GNU lightning" . Retrieved 2009-02-22.
^ "Racket source code repository" . Retrieved 2014-05-17.
^ "GNU Smalltalk project page" . Retrieved 2014-05-17.
^ "Implementation notes for GNU CLISP" . Retrieved 2009-02-23.
^ "GNU lightning user manual, acknowledgements" . Retrieved 2014-05-17.
External links [ edit ]