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

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

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

См. также DotGNU GNU Lightning

Примечания

Литература Just-In-Time Compiler Library . Документация, Klaus Treichel, May, 11 2008 Материалы научных сессий и конференций , libjit-linear-scan-register-allocator 2009-2010

Дискуссия «libjit vs LLVM» между Rhys Weatherley (Libjit) и Chris Lattner (LLVM) в списке рассылки dotgnu-libjit, 27 May 2004 ILDJIT - альтернативный JIT для CIL Aleksey Demakov’s projects: LibJIT Сайт проекта DotGNU HornetsEye website «DotGNU Southern-Summer of Code» - сообщения в списке рассылки dotgnu-pnet о начале проектов Portable.NET JIT compiler и Libjit TRUMPF-Laser DotGNU befreit .NET aus seiner Abhängigkeit, Elektroniknet: Embedded Systems HornetsEye web page on JIT compilation Libjit developers mail list 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 , Part 2 , Part 3 2013-2014

Категория:Свободные компиляторы и интерпретаторы