GNU lightning
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計劃 |
---|---|
首次釋出 | 2001年1月19日[1] |
目前版本 |
|
原始碼庫 | |
作業系統 | 跨平台 |
平台 | GNU |
類型 | 即時編譯 |
授權條款 | GNU通用公眾授權條款、GNU較寬鬆公共許可證 |
網站 | 官方網站 |
相較其他庫的優點
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 (頁面存檔備份,存於網際網路檔案館)在自由軟體目錄上