GNU lightning

维基百科,自由的百科全书
跳转到导航 跳转到搜索
GNU lightning
File:Heckert GNU white.svg
开发者GNU计划
首次发布2001年1月19日,​25年前​(2001-01-19[1]
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      操作系统跨平台
      平台GNU
      类型即时编译
      许可协议GNU通用公共许可证GNU宽通用公共许可证
      网站官方网站

      GNU lightning是在运行时生成汇编语言代码的自由软件库。版本2.0发行于2013年8月,支持的后端包括:x86(32-bit和64-bit)、ARMMIPSPowerPC(32-bit)、IA-64SPARC(32-bit)和PA-RISC[2]

      相较其他库的优点[编辑]

      GNU提供的特征使它可用于即时编译。相较于LLVMlibJIT这样的库,GNU lightning只提供低层汇编接口,把宽松的基于SPARCMIPS架构的一种标准化RISC汇编语言[3],编译成目标架构的机器语言。

      缺点[编辑]

      它不提供寄存器分配数据流控制流分析或优化

      指令集[编辑]

      GNU lightning的指令集松散的基于了现存的RISC架构。

      类型[编辑]

      所需的指令处理如下9种类型的数据:

      类型 C等价
      c signed char
      uc unsigned char
      s short
      us unsigned short
      i int
      ui unsigned int
      l long
      f float
      d double

      使用GNU lightning的项目[编辑]

      Racket[4]GNU Smalltalk[5]GNU Guile[6]CLISP[7]使用GNU lightning进行即时编译。GNU lightning最初开发用于GNU Smalltalk的从字节码到本地代码的动态转换器的工具[8]

      引用[编辑]

      1. ^ ChangeLog. GNU Project. [2009-02-22]. (原始内容存档于2021-01-31). 
      2. ^ Release announcement. 2013-08-23. [2019-05-28]. (原始内容存档于2019-09-20). 
      3. ^ Using and porting GNU lightning. [2009-02-22]. (原始内容存档于2020-11-11). 
      4. ^ Racket source code repository. [2014-05-17]. (原始内容存档于2019-10-16). 
      5. ^ GNU Smalltalk project page. [2014-05-17]. (原始内容存档于2014-04-21). 
      6. ^ Just-In-Time Native Code. [2019-03-11]. (原始内容存档于2020-05-13). 
      7. ^ Implementation notes for GNU CLISP. [2009-02-23]. (原始内容存档于2001-12-01). 
      8. ^ GNU lightning user manual, acknowledgements. [2014-05-17]. (原始内容存档于2020-11-11). 

      外部链接[编辑]