LLILC — транслятор MSIL в байткод LLVM от Microsoft

от автора

Сегодня сотрудник Microsoft анонсировал LLILC — новый проект для трансляции MSIL в байткод LLVM, предназначенный пока главным образом для инфраструктуры CoreCLR. В ближайшее время он может быть использован для JIT-компиляции, а в дальнейшем и для формирования прекомпилированных сборок (Ahead-of-Time).

Несмотря на то, что в CoreCLR уже есть свой JIT, планируется расширить поддержку различных платформ за счёт LLVM. Новый JIT использует тот же набор внутренних API, что и RyuJIT и безшовно его заменяет. Таким образом новый JIT позволить .NET-коду выполняться на всех поддерживаемых LLVM-платформах, на которые можно портировать CoreCLR.


На текущий момент реализация позволяет скомпилировать порядка 90% методов CoreCLR и откатиться к RyuJIT в остальных случаях, при этом при запуске на платформе Windows уже проходят поставляемые с CoreCLR тесты.

Состояние проекта на текущий момент напоминает уровень поддержки LLVM в Mono, где так же потребовались патчи на LLVM и так же удаётся скомпилировать лишь 90-95% методов.

ссылка на оригинал статьи http://habrahabr.ru/post/255695/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *