我试图了解部分评估在Truffle语言框架中如何工作。我正在阅读论文Practical Partial Evaluation for High-Performance Dynamic Language Runtimes和One VM to Rule Them All。
我收集到,对于执行PE来说,松露取决于Graal JIT,如下图所示:
也引用第一篇论文:
Graal将Java字节码编译为优化的机器代码,并且可以提供服务 替代Java HotSpot服务器编译器。我们扩展了它 具有执行PE的前端,并添加了内部方法 支持我们的核心原语。
我的问题是:PE的结果是否实际上在任何时候都作为JVM字节码存在?还是直接使用Graal的internal表示形式构建它们,并直接转换为本机代码?
答案 0 :(得分:0)
PE的结果实际上在任何时候都以JVM字节码的形式存在吗?
否
还是使用Graal的内部表示直接构造它们,并立即将其转换为本地代码?
是