Компания Microsoft представила новый компилятор LLILC, основанный на наработках проекта LLVM, работающий в сочетании с .NET Core Runtime (CoreCLR) и предназначенный для сборки .NET-приложений на языке C#. Код компилятора написан на языке С++ и распространяется под лицензией MIT.
Использование LLVM даёт возможность применять компилятор для любой поддерживаемой в LLVM платформы, благодаря трансляции байткода MSIL в платформонезависимый формат LLVM. В настоящее время предоставлена возможность применения LLILC в качестве JIT-компилятора, альтернативного штатному CoreCLR JIT. JIT на базе LLILC позволяет без создания отдельных сборок организовать запуск любых C#-программ, использующих классы .NET Core, на всех платформах, для которых портирован runtime CoreCLR. Полноценная работа пока возможна только в Windows, а поддержка Linux и OS X находится на начальной стадии.
В будущем ожидается появление поддержки классической AOT-компиляции (Ahead-of-time), которая позволит как генерировать обычны
...
Читать дальше »