GNU lightning
Encyclopedia
GNU lightning is a free software library that generates assembly language
Assembly language
An assembly language is a low-level programming language for computers, microprocessors, microcontrollers, and other programmable devices. It implements a symbolic representation of the machine codes and other constants needed to program a given CPU architecture...

 code at run-time. Supported backends are SPARC
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....

 (32-bit), x86 (32- and 64-bit) and PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 (32-bit). An ARM port is under way.

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
SPARC
SPARC is a RISC instruction set architecture developed by Sun Microsystems and introduced in mid-1987....

 and MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

 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
GNU Smalltalk
GNU Smalltalk is an implementation of the Smalltalk programming language by the GNU Project.The implementation, unlike other Smalltalk environments, uses text files for program input and interprets the contents as Smalltalk code...

, and CLISP
CLISP
In computing, CLISP is an implementation of the programming language Common Lisp originally developed by Bruno Haible and Michael Stoll for the Atari ST...

 make use of GNU lightning for just-in-time compilation
Just-in-time compilation
In computing, just-in-time compilation , also known as dynamic translation, is a method to improve the runtime performance of computer programs. Historically, computer programs had two modes of runtime operation, either interpreted or static compilation...

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK