Interested Article - GNU Lightning

GNU Lightning — библиотека для быстрой генерации машинного кода во время исполнения программы ( JIT -компиляции). Написана на языке Си .

Автор библиотеки GNU Ligtning — Paolo Bonzini. Она основана на динамическом ассемблере ccg за авторством Ian Piumarta .

Назначение и особенности

Данная библиотека хорошо подходит для JIT-компиляции , однако, в отличие от таких инструментов, как LibJIT или LLVM , реализует более низкоуровневый подход. Lighting не использует какого-либо промежуточного представления программ, вроде байткода , но транслирует инструкции некоего абстрактного ассемблера виртуального RISC -процессора в машинный код одной из поддерживаемых архитектур. К таким архитектурам относятся i686 , X86-64 , MIPS , ARM , PowerPC , SPARC , IA-64 и hppa . Вследствие такой архитектуры библиотека не предоставляет каких-либо средств оптимизации .

Несмотря на машиннонезависимость набора инструкций поддерживаемого библиотекой виртуального ассемблера, он оперирует лишь с шестью целочисленными регистрами , а для операций с плавающей точкой используется специализированный стек . Существует форк библиотеки, который называется MyJIT , в котором этих ограничений нет.

Использование

Библиотека используется в для реализации JIT-компиляции в частности в таких трансляторах, как Racket , , и CLISP ; а также, начиная с версии 3.0 , Guile .

Примечания

  1. George Almasi, David A. Padua. // Languages and Compilers for Parallel Computing 13th International Workshop, LCPC 2000 Yorktown Heights, NY, USA. — Springer , August 10–12, 2000 Revised Papers. — С. 75 . — ISBN 978-3-540-42862-6 . 13 июня 2018 года.
  2. Ian Piumarta. (1 мая 2004). Дата обращения: 22 января 2014. 19 июня 2014 года.
  3. . Дата обращения: 22 января 2014. 25 июня 2014 года.
  4. . Дата обращения: 23 февраля 2009. 1 декабря 2001 года.
  5. Версия 3.0 находится в разработке, с октября 2018 года доступна версия GNU Guile 2.9.1 (beta) c реализацией JIT-компиляции для архитектуры x86-64 .
  6. . lists.gnu.org. Дата обращения: 11 октября 2018. 12 октября 2018 года.

Литература

Sandeep Koranne. 13.5.5 GNU lightning // . — Springer, October 29, 2010. — P. 269-271. — 520 p. — ISBN 978-1-4419-7718-2 .

Ссылки

  • — официальный сайт GNU Lightning
Источник —

Same as GNU Lightning