基于寄存器+堆栈的虚拟机如何工作?

时间:2012-12-03 09:24:48

标签: cpu-registers register-allocation vm-implementation ssa stack-based

我知道如何基于寄存器以及基于堆栈的虚拟机如何独立工作。我知道两者的优点和缺点。我想知道的是,有没有人试图合并这两个?

我试图在网上搜索这种虚拟机的存在,但无济于事。我得到的最好结果是关于混合虚拟机的文章(HyVM)。如果这样的虚拟机确实是为编程语言创建的,我会有兴趣看看它的源代码,以了解它是如何工作的。

也许有人可以指出我找到这样一个虚拟机的正确方向,或者将我链接到本主题中详细阐述的文章或博客文章。

1 个答案:

答案 0 :(得分:5)

看看Forth。它使用VM,主要是面向堆栈,但允许以您建议的方式存储值。

此外,VM非常小,因此很容易探索和移植它。