相关疑难解决方法(0)

寄存器与堆栈

使用基于寄存器的虚拟机与使用基于堆栈的虚拟机有什么优缺点?

对我而言,基于寄存器的机器似乎更直接的编程和更高效.那么为什么JVM,CLR和Python VM都是基于堆栈的呢?

language-agnostic stack-based vm-implementation

56
推荐指数
5
解决办法
2万
查看次数

什么是"注册机器"?

http://code.google.com/p/unladen-swallow/wiki/ProjectPlan我引用:

"使用JIT还可以让我们将Python从基于堆栈的机器移动到注册机器,这已被证明可以提高其他类似语言的性能(Ierusalimschy等,2005; Shi等,2005)."

在大学里,我为一个带有递归过程的语言构建了一个简单的编译器 - 它为每个被调用的过程维护堆栈帧 - 这样就可以递归调用它们,这样参数和返回值就可以工作....

2件事:

1)考虑到上面引用中使用的术语,我是否正确地认为我实施的内容将被视为"基于堆栈的机器"?

2)如果我在第(1)点的假设是正确的,那么"注册机器"如何工作?即它与基于堆栈的机器有何不同?

谢谢!

python language-theory language-design language-implementation

24
推荐指数
3
解决办法
3852
查看次数