在基于寄存器的lua虚拟机中,寄存器的大小是否固定?还是动态结构?
我在第17页的此处找到一个字节码示例,其中常量字符串“ hello”已加载到寄存器中,因此它必须是动态的吗?寄存器不是很常见吗?
http://luaforge.net/docman/83/98/ANoFrillsIntroToLua51VMInstructions.pdf
每个寄存器包含一个Lua值。Lua值在C中作为标记的联合实现。另请参阅:Lua 5.0的实现。这个带标记的联合按值存储小类型(布尔值,数字),而其他所有内容(字符串,表,函数等)作为指针存储。因此,寄存器的大小是恒定的,尽管大于一个本机字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句