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

Aad*_*hah 6 register-allocation stack-based cpu-registers ssa vm-implementation

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

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

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

Mat*_*ias 5

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

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