不需要JVM的JVM语言

通过使用TruffleRuby与SVM技术能够将JVM语言摆脱JVM运行,TruffleRuby是一个Ruby语言高性能实现,基于Oracle Labs的GraalVM .

Substrate Virtual Machine基板虚拟机(简称SVM)是Java的封闭和全分析提前编译器,也是JVM部分的实现。

使用SVM,可以提前将TruffleRuby和Graal动态编译器编译为单个静态链接的本地二进制可执行文件,它不依赖于JVM,并且不链接到任何JVM库。

该技术比仅将JAR作为资源附加到JVM的副本中更为复杂 - 仅包含所需的JVM的一部分,并且它们专用于TruffleRuby如何使用它们。 没有Java字节码 - 只编译本机机器码和编译器图形进行动态编译。

注意,一个常见的混乱是,SVM是一个实现了TruffleRuby解释器和Graal编译器的Java代码的ahead-of-time 提前编译器,而不是一个Ruby程序的提前编译器。

SVM本身,像Graal和TruffleRuby,都是用Java实现的。

truffleruby/svm.md at master · graalvm/truffleruby