Как интегрировать LLVM в JVM Runtime

Можно ли интегрировать LLVM с JVM Runtime. Меня интересует эта оптимизация перфектов, которую уже делает Azul Zing, но возможно ли это сделать с помощью Oracle JVM или OpenJDK?

2 ответа

Решение

Вам вряд ли удастся интегрировать LLVM с OpenJDK или Oracle JDK. (В любом случае OpenJDK или Oracle JDK - это одно и то же... с технической точки зрения.)

Вам нужно будет повторить всю работу по разработке, которую проделала команда Azul, чтобы заставить их компиляторы на основе LLVM работать с JVM. Это вряд ли будет практичным для вас.

Меня интересует эта оптимизация перфектов, которую уже делает Azul Zing, но возможно ли это сделать с помощью Oracle JVM или OpenJDK?

Может быть возможным реализовать эти оптимизации, изменив существующую кодовую базу OpenJDK.

GraalVM выглядит как еще один вариант. (Что GhostCat не упомянул в своем ответе, так это то, что GraalVM поддерживает компиляторы на основе LLVM. Поэтому, если у вас был компилятор для Java на основе LLVM, вы могли бы использовать его в качестве основы для работы оптимизатора.)


1 - Не ясно, использовал ли Azul подход LLVM по техническим причинам, по причинам лицензирования, или по обоим причинам.Если бы они применили подход изменения JIT-компилятора OpenJDK, они были бы обязаны опубликовать свой исходный код.

Вы просто начинаете изучать / использовать грааль VM.

Универсальная ВМ для полиглота. Наша миссия: сделать разработку более продуктивной и запускать программы быстрее в любом месте.

(не путать с компилятором graal, компилятором java-to-native, который уже поставляется с JDK начиная с Java 9)

Другими словами: мы уже в движении.

Другие вопросы по тегам