除了实际破解代码之外,了解 VM 实现的最佳方法是什么?
我想了解有关虚拟机实施和优化的更多信息。 现在,我正在(以很小的方式)使用 JRuby 做出贡献,并且还在使用我自己的在虚拟机中运行的类似 lisp 的语言实现来进行游戏/编写。
不过,我想获得有关使用虚拟机并设计它们的更多信息。 除了阅读/使用现有代码之外,是否有关于此类信息的良好资源? 我并不反对这样做,我只是想知道是否还有其他来源可以研究。
I'd like to learn more about VM implementation and optimization. Right now I'm contributing (in a small way) with JRuby and am also playing/writing with my own lisp-like language implementation that runs in a VM.
However I'd like to get more information on working with VM's and designing them. Is there a good resource for this type of information besides reading/working with existing code? I'm not opposed to do that, I just wondered if there were other sources I could be looking into.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
另请参阅Lua 5.0的实现。 它被广泛认为是同类中最快的虚拟机,也是最简洁和最小的实现之一。
also check The Implementation of Lua 5.0. it's widely regarded as the fastest VM in its class and also one of the cleanest and smallest implementations.
阅读安东·埃特尔 (Anton Ertl) 和大卫·格雷格 (David Gregg) 的作品。 您可能还想阅读 Smalltalk 蓝皮书,其中包含三章内容虚拟机。 Smalltalk 绿皮书也很有趣,并且是免费在线的。
技术性较差,但仍然很有趣,如果您可以访问 ACM 数字图书馆,它是所有便携式虚拟机的鼻祖,加州大学圣地亚哥分校帕斯卡。
最后,我赞同Lua 5.0的实现< /a>. 这是很棒的工作。
Read the work of Anton Ertl, David Gregg. You might also want to read the Smalltalk blue book which has three chapters on the VM. The Smalltalk Green Book is also interesting and is free online.
Less technical but still interesting, if you have access to the ACM Digital Library, is the grand-daddy of all portable VMs, UCSD Pascal.
Finally, I second the recommendation of The Implementation of Lua 5.0. This is superb work.
看看 LLVM 和 鹦鹉.
Have a look at LLVM and Parrot.