Mandrel是GraalVM社区版的下游发行版。Mandrel的主要目标是提供一个专门支持Quarkus的native-image版本。目的是将GraalVM的native-image功能与OpenJDK和RedHatEnterpriseLinux库统一起来,以提高本地Quarkus应用的可维护性。
Mandrel版本是基于上游GraalVM代码库衍生的代码库构建的,只做了一些小的改动。它们支持与GraalVM相同的nativeimage 功能,但功能上没有重大变化。它们不包括通过Truffle解释器和编译器框架对Polyglot编程的支持。因此,不可能通过从Truffle语言目录下载语言来扩展Mandrel。
Mandrel的构建方式也与GraalVM略有不同,它使用标准的OpenJDK项目版本jdk11u。这意味着它不能从Oracle添加到用于构建自己的GraalVM下载的OpenJDK版本中的一些小的增强功能中获益。
这些改进大多是对JVMCI模块的改进,它允许Graal编译器在OpenJDK中运行。其他的则是对behaviour 的一些微小修饰。在某些情况下,这些enhancements可能会导致nativeimage 生成的进度出现微小差异。它们不应该导致生成的images本身以明显不同的方式执行。
评论