Jump to content

GNU lightning

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 2001:da8:201:1023:a8ab:c6fc:a1c6:9786 (talk) at 12:02, 24 August 2012. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
GNU lightning
Developer(s)GNU Project
Initial releaseJanuary 19, 2001 (2001-01-19)[1]
Stable release
hosted in git repository
Repository
Operating systemCross-platform
PlatformGNU
TypeJust-in-time compilation
LicenseGNU General Public License, GNU Lesser General Public License
Websitehttp://www.gnu.org/software/lightning/

GNU lightning is a free software library for generating 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. 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[3]—into the target architecture's machine language.

Disadvantages

It does not provide register allocation, data-flow or 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

  1. ^ "ChangeLog". GNU Project. Retrieved 2009-02-22.
  2. ^ Message stating start of work of ARM port
  3. ^ "Using and porting GNU lightning". Retrieved 2009-02-22.
  4. ^ "Implementation notes for GNU CLISP". Retrieved 2009-02-23.