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

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

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

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

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

最佳答案

看看Forth .它使用虚拟机,主要面向堆栈,但几乎可以按照您建议的方式存储值。

此外,VM 非常小,因此易于探索和移植。

关于cpu-registers - 基于寄存器 + 堆栈的虚拟机如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680300/

相关文章:

gcc - 如何强制gcc使用所有SSE(或AVX)寄存器?

c++ - POD 类和非 POD 类之间的性能差异

graph - 弦图和 SSA 形式程序

c - 字节码如何才能更快?

llvm - 使用LLVM作为虚拟机——多平台和多架构编码

c - 带寄存器的 Stm32 定时器计数器

c++ - 如何打印出 Visual Studio 跟踪点中的寄存器偏移量?

compiler-construction - 为运行字节码编写 VM 的源代码

c++ - 快速加载文件格式的寄存器宽度和解析

.net - 在 Visual Studio 中调试托管应用程序时设置 CPU 寄存器值