Как интегрировать 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)
Другими словами: мы уже в движении.