【发布时间】:2021-11-17 17:12:55
【问题描述】:
许多文章都提到 Dalvik 是基于寄存器的 VM,但也有许多文章提到 Dalvik 将堆栈用于保存方法和缓存变量的线程。也许我将此与保留类、变量和方法与在处理器上执行实际操作相混淆。我认为这意味着 VM 在堆栈或寄存器中发送操作。但是找不到这个信息。请帮忙?)
【问题讨论】:
-
call stack 是记住调用方法并在返回时恢复其状态所必需的,无论此状态是如何组织的。即使所有值都保存在寄存器中,当调用的方法也想使用这些寄存器时,您也必须保存它们。 operand stack 仅保存临时结果,在调用堆栈内的 stack frame 内。