请输入您要查询的百科知识:

 

词条 GNU lightning
释义

  1. Advantages over other libraries

  2. Disadvantages

  3. Instruction set

      Types  

  4. Projects that use GNU lightning

  5. References

  6. External links

{{multiple issues|{{Notability|Products|date=August 2011}}{{primary sources|date=August 2011}}
}}{{Infobox Software
| name = GNU lightning
| logo = Heckert GNU white.svg
| logo size = 100px
| developer = GNU Project
| released = {{start date and age|2001|1|19}}[1]
| operating system = Cross-platform
| platform = GNU
| genre = Just-in-time compilation
| license = GNU General Public License, GNU Lesser General Public License
| website = {{Official website|https://www.gnu.org/software/lightning/}}
}}{{Portal|Free and open-source software}}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).[2]

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[3]—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:

TypeC equivalent
c signed char
uc unsigned char
s short
us unsigned short
i int
ui unsigned int
l long
f float
d double

Projects that use GNU lightning

Racket,[4] GNU Smalltalk,[5] GNU Guile,[6] and CLISP[7] 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.[8]

References

1. ^{{ cite web | url = http://ftp.gnu.org/gnu/lightning/ | title = ChangeLog | accessdate = 2009-02-22 | publisher = GNU Project }}
2. ^Release announcement. 2013-08-23
3. ^{{cite web | url=https://www.gnu.org/software/lightning/manual/lightning.html |title= Using and porting GNU lightning | accessdate=2009-02-22}}
4. ^{{cite web | url=https://github.com/plt/racket/tree/master/racket/src/racket/src/lightning | title=Racket source code repository | accessdate=2014-05-17}}
5. ^{{cite web | url=http://smalltalk.gnu.org/project | title=GNU Smalltalk project page | accessdate=2014-05-17}}
6. ^{{cite web | url=https://www.gnu.org/software/guile/docs/master/guile.html/Just_002dIn_002dTime-Native-Code.html |title=Just-In-Time Native Code | accessdate=2019-03-11}}
7. ^{{cite web | url=http://clisp.cons.org/impnotes.html | title=Implementation notes for GNU CLISP | accessdate=2009-02-23 }}
8. ^{{cite web | url=https://www.gnu.org/software/lightning/manual/lightning.html#Acknowledgements | title=GNU lightning user manual, acknowledgements | accessdate=2014-05-17}}

External links

  • GNU lightning on Free Software Directory
{{GNU}}{{Free-software-stub}}

1 : GNU Project software

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 14:49:24