GNU Lightning

A GNU Lightning  egy könyvtár a gépi kód gyors generálására futás közben ( JIT fordítás ). C nyelven írva .

A GNU Ligtning könyvtár szerzője Paolo Bonzini. Ez Ian Piumarta [2] dinamikus assembler ccg-jén alapul [1 ] .

Cél és jellemzők

Ez a könyvtár kiválóan alkalmas JIT fordításra , azonban az olyan eszközökkel ellentétben, mint a LibJIT vagy az LLVM , alacsonyabb szintű megközelítést valósít meg. A Lighting nem használja a programok köztes ábrázolását, például a bytecode -ot , hanem lefordítja néhány absztrakt assembler virtuális RISC processzor utasításait valamelyik támogatott architektúra gépi kódjára. Ilyen architektúrák közé tartozik az i686 , X86-64 , MIPS , ARM , PowerPC , SPARC , IA-64 és hppa . Ennek az architektúrának köszönhetően a könyvtár nem biztosít optimalizálást .

A virtuális assembler könyvtár által támogatott utasításkészlet gépi függetlensége ellenére csak hat egész regiszterrel működik, és a lebegőpontos műveletekhez egy speciális verem használható [1] . Van egy MyJIT [3] nevű könyvtár , amely nem rendelkezik ilyen korlátozásokkal.

Használat

A könyvtár a JIT fordítás megvalósítására szolgál, különösen olyan fordítóknál, mint a Racket , a GNU Smalltalk és a CLISP [4] ; valamint a 3.0-s verzió óta [5] , Guile [6] .

Jegyzetek

  1. 1 2 George Almasi, David A. Padova. MaJIC: A Matlab Just-In-Time fordítója  // Nyelvek és fordítók a párhuzamos számításokhoz 13. nemzetközi műhely, LCPC 2000 Yorktown Heights, NY, USA. – Springer , 2000. augusztus 10–12. Átdolgozott közlemények. - S. 75 . - ISBN 978-3-540-42862-6 . Az eredetiből archiválva : 2018. június 13.
  2. Ian Piumarta. ccg: dinamikus kódgenerálás C és C++ számára (2004. május 1.). Hozzáférés dátuma: 2014. január 22. Az eredetiből archiválva : 2014. június 19.
  3. MyJIT . Letöltve: 2014. január 22. Az eredetiből archiválva : 2014. június 25.
  4. Megvalósítási megjegyzések a GNU CLISP-hez . Letöltve: 2009. február 23. Az eredetiből archiválva : 2001. december 1..
  5. A 3.0-s verzió fejlesztés alatt áll, a GNU Guile 2.9.1 (béta) 2018 októbere óta érhető el az x86-64 architektúra JIT-fordításának megvalósításával .
  6. Megjelent a GNU Guile 2.9.1 [béta ] . lists.gnu.org. Letöltve: 2018. október 11. Az eredetiből archiválva : 2018. október 12..

Irodalom

Sandeep Koranne. 13.5.5 GNU lightning // Nyílt forráskódú eszközök kézikönyve . - Springer, 2010. október 29. - P. 269-271. - 520 p. — ISBN 978-1-4419-7718-2 .

Linkek