Suvarna Garge (Editor)

GNU lightning

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
GNU Project

Platform
  
GNU

Operating system
  
Cross-platform

Initial release
  
January 19, 2001; 16 years ago (2001-01-19)

Stable release
  
2.0.5 (August 16, 2014; 2 years ago (2014-08-16)) [±]

Type
  
Just-in-time compilation

GNU lightning is a free software library for generating assembly language code at run-time. Version 2.0, released in August 2013, supports backends for SPARC (32-bit), x86 (32- and 64-bit), MIPS, ARM, ia64, HPPA and PowerPC (32-bit).

Contents

Advantages over other libraries

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.

Disadvantages

It does not provide register allocation, data-flow or control-flow analysis, or optimization.

Instruction set

GNU lightning's instruction set is based loosely on existing RISC architectures.

Types

When required instructions handle data with these 9 types:

Projects that use GNU lightning

Racket, GNU Smalltalk, and CLISP make use of GNU lightning for 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.

References

GNU lightning Wikipedia