GNU lightning
开发者 | GNU计划 |
---|---|
首次发布 | 2001年1月19日[1] |
当前版本 |
|
源代码库 | |
操作系统 | 跨平台 |
平台 | GNU |
类型 | 即时编译 |
许可协议 | GNU通用公共许可证、GNU宽通用公共许可证 |
网站 | 官方网站 |
GNU lightning是在运行时生成汇编语言代码的自由软件库。版本2.0发行于2013年8月,支持的后端包括:x86(32-bit和64-bit)、ARM、MIPS、PowerPC(32-bit)、IA-64、SPARC(32-bit)和PA-RISC[3]。
相较其他库的优点
GNU提供的特征使它可用于即时编译。相较于LLVM或libJIT这样的库,GNU lightning只提供低层汇编接口,把宽松的基于SPARC和MIPS架构的一种标准化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]。
引用
- ^ ChangeLog. GNU Project. [2009-02-22]. (原始内容存档于2021-01-31).
- ^ "GNU lightning 2.2.3 released!"; 作者姓名字符串: Paulo César Pereira de Andrade; 作品或名称使用语言: 英语; 出版日期: 2024年2月8日; 检索日期: 2024年3月8日.
- ^ Release announcement. 2013-08-23. [2019-05-28]. (原始内容存档于2019-09-20).
- ^ Using and porting GNU lightning. [2009-02-22]. (原始内容存档于2020-11-11).
- ^ Racket source code repository. [2014-05-17]. (原始内容存档于2019-10-16).
- ^ GNU Smalltalk project page. [2014-05-17]. (原始内容存档于2014-04-21).
- ^ Just-In-Time Native Code. [2019-03-11]. (原始内容存档于2020-05-13).
- ^ Implementation notes for GNU CLISP. [2009-02-23]. (原始内容存档于2001-12-01).
- ^ GNU lightning user manual, acknowledgements. [2014-05-17]. (原始内容存档于2020-11-11).
外部链接
- GNU lightning (页面存档备份,存于互联网档案馆)在自由软件目录上