在Truffle中,部分评估的结果属于哪个“抽象级别”?

时间:2019-09-16 22:46:37

标签: truffle graalvm

我试图了解部分评估在Truffle语言框架中如何工作。我正在阅读论文Practical Partial Evaluation for High-Performance Dynamic Language RuntimesOne VM to Rule Them All

我收集到,对于执行PE来说,松露取决于Graal JIT,如下图所示:

enter image description here

也引用第一篇论文:

  

Graal将Java字节码编译为优化的机器代码,并且可以提供服务   替代Java HotSpot服务器编译器。我们扩展了它   具有执行PE的前端,并添加了内部方法   支持我们的核心原语。

我的问题是:PE的结果是否实际上在任何时候都作为JVM字节码存在?还是直接使用Graal的internal表示形式构建它们,并直接转换为本机代码?

1 个答案:

答案 0 :(得分:0)

  

PE的结果实际上在任何时候都以JVM字节码的形式存在吗?

  

还是使用Graal的内部表示直接构造它们,并立即将其转换为本地代码?