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). 

      外部連結[編輯]