GraalVM — розроблена корпорацією Oracle універсальна віртуальна машина, що підтримує запуск застосунків на JavaScript (Node.js), Python, Ruby, R, будь-якими мовами для JVM (Java, Scala, Clojure, Kotlin, з можливістю компіляції Java-коду в виконувані файли GraalVM Native Image) і мовами, для яких може формуватися біткод LLVM (C, C++, Rust).
Код проекту поширюється під ліцензією GPLv2. Одночасно випускаються реалізації мов Python, JavaScript, Ruby і R, що використовують GraalVM — GraalPython, GraalJS, TruffleRuby і FastR.
GraalVM надає JIT-компілятор, який може на льоту виконувати в JVM код будь-яких скриптових мов, включаючи JavaScript, Ruby, Python і R, а також дає можливість запускати нативний код в JVM, перетворений в біткод LLVM. Наданий GraalVM інструментарій включає незалежні від мов програмування зневаджувач, систему профілювання і аналізатор розподілу пам'яті. GraalVM дає можливість створювати комбіновані застосунки з компонентами на різних мовах, що дозволить отримувати доступ до об'єктів і масивів з коду на інших мовах. Для мов на базі JVM є можливість створення скомпільованих у машинний код виконуваних файлів, які можна виконувати безпосередньо з мінімальним споживанням пам'яті (управління пам'яттю і нитями реалізовано через підключення фреймворку Substrate VM [Архівовано 22 листопада 2019 у Wayback Machine.]).
Виноски
Посилання