LibJIT
libJIT | |
---|---|
Тип | Библиотека для JIT-компиляции |
Разработчик | Открытое программное обеспечение |
Операционная система | Кроссплатформенное программное обеспечение |
Последняя версия | 0.1.2 (2008-12-12) |
Репозиторий | 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
Примечания
- ↑ 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 [3158 дней])
- 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