Falcon — новый JIT-компилятор в Zing JVM
День 2 / 14:00 / Зал 4 / Язык: RUFalcon — новый JIT-компилятор для виртуальной машины Zing, пришедший на смену компилятору C2. Новый компилятор, построенный на базе инфраструктуры LLVM, призван улучшить пиковую производительность исполнения Java-кода.
LLVM традиционно используется для статической компиляции C/C++, и нам в Azul Systems прошлось проделать немало работы, чтобы научить LLVM эффективно компилировать Java-код. Мы обсудим, чем отличается статический компилятор C/C++ от JIT-компилятора для Java, и расскажем про поддержку GC, деоптимизаций и Java-специфичных оптимизаций в LLVM.
Разработка нового компилятора — большая и амбициозная задача. Мы расскажем, почему не стали развивать С2, а решили написать новый компилятор, и на примерах покажем, как новый компилятор ускоряет исполнение Java-кода.
Артур Пилипенко, Azul Systems
Инженер из компиляторной команды в компании Azul Systems. На протяжении последних двух лет участвует в разработке LLVM-based JIT компилятора Falcon. До прихода в Azul работал в компании Oraсle, где занимался разработкой виртуальной машины CLDC HI (aka Monty VM).