最佳答案
我很好奇,为什么 Sun 决定让 JVM 基于栈,而 Google 决定让 DalvikVM 基于寄存器?
我认为 JVM 不能真正假设目标平台上有一定数量的寄存器可用,因为它应该是独立于平台的。因此,它只是推迟寄存器分配等到 JIT 编译器。如果我说错了请纠正我
所以 Android 的家伙想,“嘿,这是低效的,让我们去一个基于寄存器的 vm 立即...”?等等,有很多不同的机器人设备 Dalvik 的目标是多少寄存器?Dalvik 操作码是否对一定数量的寄存器进行了硬编码?
目前市场上所有的 Android 设备是否都有相同数量的寄存器?或者,在 dex 加载期间是否执行了寄存器重新分配?这一切是怎么联系起来的?