2010-05-18 103 views
1

实现一个自定义的虚拟机,我来使用寄存器(这些将存储指针,并将为空时为空)。但是,我意识到我实际上不知道如何管理基于寄存器的内存。就像,如果我所有的寄存器都用完了,并且一些代码需要另一个,我该怎么办?最好不要创建一个新的。
这是用C++编写的。注册管理技巧

回答

2

我不认为这是机器的问题,而是它是机器程序员的问题。你可以做什么(IMO)只是提供将寄存器的值来回移动到内存中的方法。问题解决了:)

+0

同意,这是编译器或汇编写入程序的问题,而不是VM。如果编译器基于LLVM,那么可以使用便捷的传递,这些传递可以执行内存 - >注册和注册 - >内存转换(主要用于SSA),并且输出寄存器分配器很好。 – 2010-05-18 18:51:16