JEP 295: AOT в HotSpot

В петербургском офисе компании Oracle 22 декабря 2016-го состоялась встреча JUG.ru c Дмитрием Чуйко, инженером Oracle из Java SE Performance Team. Тема встречи — Ahead-of-Time компиляция для HotSpot JVM. Незадолго до этого Дмитрий отвечал на наши вопросы по этой теме, а здесь ответил на зрительские.

Существуют различные реализации платформы Java. В некоторых из них есть Ahead-of-Time (AOT) компиляторы, причём подход к решению различный, да и постановка задачи разная. В данный момент в HotSpot есть JIT‑компиляция, но нет стандартного AOT. Но эта ситуация изменится: недавно эта фича была назначена в релиз JDK 9.

Разговор пошёл о том, зачем может понадобится заранее получать нативный код, как это делается и работает в реализации для HotSpot. И с другой стороны, как Java-код может встраиваться в процесс JIT‑компиляции.