![]() |
|
![]() ![]() ![]() |
|
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Ваш покорный слуга опубликовал на хабре результат своего графоманства на тему «LLVM, что это такое и с чем его едят». Основной упор на описание промежуточного кода. Статья для тех, кому в целом интересна тема компиляторов, JIT, link-time оптимизации и всего такого, но про LLVM по каким-то причинам не знают или слышали краем уха.
Прошу винградовцев обсуждать, критиковать и умеренно холиварить ![]() http://habrahabr.ru/blogs/programming/47878/ -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: нет Всего: 72 |
Спасибо, любопытно и познавательно.
Правильно ли я понимаю, что LLVM претендует на отдельный, оптимизирующий слой между JVM/CLR/etc и OS? |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Это один из вариантов. В принципе, LLVM применима практически в любых задачах, связанных с генерацией машинного кода.
Насколько я могу судить, основное препятствие к реализации managed платформ на LLVM — это неотточенность интеграции GC. Думаю, в процессе работы над VMKit эти проблемы решат или докажут, что они уже решены. LLVM хорошо подходит для экспериментальных компиляторов, в которых часто прибегают к генерации кода на Си. При сравнимой трудоёмкости мы получаем гораздо большую гибкость, ну и серьёзный backend, подходящий не только для прототипа. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Ещё пару слов: мощь LLVM ещё и в том, что это не просто жёсткая система — загнал на вход IR, получил на выходе маш. код — а очень расширяемая и настраиваемая: на каждом этапе компиляции, как при преобразовании IR, так и генерации машинного кода, можно подключить свой обработчик.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии: Разные | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |