lua的虚拟机是基于寄存器的,我们所了解的虚拟机中大部分是基于堆栈的(包括c#、python、jvm等),android的davik虚拟机是基于寄存器的,那么基于寄存器和基于堆栈的虚拟机有什么区别和优缺点呢?