GNU lightning

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

GNU lightning
開發者GNU計劃
初始版本2001年1月19日2001-01-19[1]
穩定版本2.1.3(2019年9月18日2019-09-18[2][±]
操作系统跨平台
系統平台GNU
类型即时编译
许可协议GNU通用公共许可证GNU宽通用公共许可证
网站官方网站

相较其他库的优点

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

缺点

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

指令集

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

引用

  1. . GNU Project. [2009-02-22]. (原始内容存档于2021-01-31).
  2. Andrade, Paulo César Pereira de. (邮件列表). Lightning. 2019-09-18 [2019-09-18].
  3. . [2019-05-28]. (原始内容存档于2019-09-20).
  4. . [2009-02-22]. (原始内容存档于2020-11-11).
  5. . [2014-05-17]. (原始内容存档于2019-10-16).
  6. . [2014-05-17]. (原始内容存档于2014-04-21).
  7. . [2019-03-11]. (原始内容存档于2020-05-13).
  8. . [2009-02-23]. (原始内容存档于2001-12-01).
  9. . [2014-05-17]. (原始内容存档于2020-11-11).

外部链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.