我正在设计一个自定义 VM,并且很好奇我应该使用多少个寄存器。最初,我有 255 个,但我有点担心每次调用函数时将 255 个指针(一整个 KB)备份到堆栈或堆上,而其中大多数甚至不会被使用。我应该使用多少个寄存器?
最佳答案
您可能想查看 register windows ,这是一种减少任何时候可用的“事件”寄存器数量的方法,同时仍将大量寄存器保留在核心中。
话虽如此,您可能会发现使用基于堆栈的架构更为方便。一些旨在在软件(JVM、CLR、Python 等)中实现的主要虚拟机使用堆栈架构。为堆栈编写编译器肯定比人为限制的一组寄存器更容易。
关于c++ - 自定义 VM 中有多少个寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2948756/