我想了解有关 VM 实现和优化的更多信息。现在我正在为 JRuby 做出贡献(以一种小的方式),并且正在使用我自己的在 VM 中运行的类似 lisp 的语言实现来玩/编写。
但是,我想获得有关使用 VM 和设计它们的更多信息。除了阅读/使用现有代码之外,是否有此类信息的良好资源?我不反对这样做,我只是想知道是否还有其他我可以调查的来源。
我想了解有关 VM 实现和优化的更多信息。现在我正在为 JRuby 做出贡献(以一种小的方式),并且正在使用我自己的在 VM 中运行的类似 lisp 的语言实现来玩/编写。
但是,我想获得有关使用 VM 和设计它们的更多信息。除了阅读/使用现有代码之外,是否有此类信息的良好资源?我不反对这样做,我只是想知道是否还有其他我可以调查的来源。
还检查Lua 5.0 的实现。它被广泛认为是同类中最快的虚拟机,也是最干净和最小的实现之一。
阅读 Anton Ertl 的作品。还有大卫格雷格。此外,您可能还想阅读Smalltalk 蓝皮书,其中包含有关 VM 的三章。Smalltalk 绿皮书也很有趣,可以在线免费使用。
如果您可以访问 ACM 数字图书馆,那么技术性较低但仍然很有趣,它是所有便携式 VM 的祖父,UCSD Pascal。
最后,我赞同 Lua 5.0 的实现的建议。这是一部很棒的作品。