LibJIT

libJIT
Тип Библиотека для JIT-компиляции
Разработчик Открытое программное обеспечение
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 0.1.2 (12 декабря 2008)
Репозиторий github.com/DaveRandom/li…
Лицензия GNU LGPL
Сайт gnu.org/software/libjit/

Libjit — библиотека для JIT-компиляции, позволяет компилировать фрагменты байт-кода в машинный код во время исполнения программ.

Первоначально создана Ризом Везерли и Норбертом Боллоу для Фонда свободного программного обеспечения в рамках проекта DotGNU. Позже Libjit разрабатывался Кириллом Кононенко, Клаусом Трейчелом, Алексеем Демаковым. Дизайн библиотеки Libjit содержит обширный набор средств, которые заботятся о процессе компиляции во время выполнения программы, не связывая программиста с языком или специфическими особенностями байт-кода. В отличие от других систем, таких как JVM, .NET и Parrot, LibJIT — это фундамент для создания большого числа виртуальных машин, динамических скриптовых языков. LibJIT является менее функциональным аналогом LLVM. Большая часть работы над компилятором на лету касается арифметики, преобразования типов, записи и чтения из памяти, циклов, проведения анализа графа потока данных, распределения регистров и генерации выполняемого машинного кода. Только очень малая часть работы касается языковых специфических особенностей. Цель проекта LibJIT состоит в том, чтобы обеспечить набор средств компиляции на лету, не связывая программиста с языковыми специфическими особенностями.

Проект LibJIT развивался с 2004[1] по 2008 год.

См. также

  • DotGNU
  • GNU Lightning

Примечания

  1. Eli Bendersky. Some thoughts on LLVM vs. libjit (англ.) (15 января 2014). — «libjit's first release was in April 2004, as part of the now-defunct DotGNU project.» Дата обращения: 15 декабря 2015. Архивировано 29 октября 2015 года.

Литература

  • Just-In-Time Compiler Library Архивная копия от 17 августа 2015 на Wayback Machine. Документация, Klaus Treichel, May, 11 2008
  • Материалы научных сессий и конференций Архивная копия от 14 сентября 2010 на Wayback Machine, libjit-linear-scan-register-allocator 2009-2010
  • libJIT Linear Scan (англ.). — страница проекта LibJIT Linear Scan. Дата обращения: 18 апреля 2009. Архивировано из оригинала 25 сентября 2019 года.
  • Дискуссия «libjit vs LLVM» Архивная копия от 4 марта 2016 на Wayback Machine между Rhys Weatherley (Libjit) и Chris Lattner (LLVM) в списке рассылки dotgnu-libjit, 27 May 2004
  • ILDJIT - альтернативный JIT для CIL
  • Aleksey Demakov’s projects: LibJIT Архивная копия от 28 апреля 2009 на Wayback Machine  (англ.)
  • Сайт проекта DotGNU Архивная копия от 16 августа 2005 на Wayback Machine
  • HornetsEye website
  • «DotGNU Southern-Summer of Code» Архивная копия от 22 февраля 2006 на Wayback Machine - сообщения в списке рассылки dotgnu-pnet о начале проектов Portable.NET JIT compiler и Libjit
  • TRUMPF-Laser
  • DotGNU befreit .NET aus seiner Abhängigkeit, Elektroniknet: Embedded Systems (недоступная ссылка с 15-12-2015 [3085 дней])
  • HornetsEye web page on JIT compilation
  • Libjit developers mail list Архивная копия от 19 июля 2013 на Wayback Machine
  • Libjit mailing list archive from 3th February 2005. «The grants»
  • .NET Developer’s Journal Mono Releases Version 1.2, DECEMBER 24, 2006
  • Getting started with libjit - part 1 Архивная копия от 23 января 2016 на Wayback Machine, Part 2 Архивная копия от 25 января 2016 на Wayback Machine, Part 3 Архивная копия от 24 января 2016 на Wayback Machine 2013-2014