OP_JMP操作码可扩展性

时间:2017-08-03 13:25:55

标签: lua

我的应用程序使用Lua 5.0.2的自定义版本,一些客户将非常大的(自动生成的)脚本输入其中。例如,大小为200兆字节或更大的脚本。这一切似乎都运行良好,但我想知道Lua VM的可扩展性。

我特别关注OP_JMP可扩展性。在Lua 5.0.2 OP_JMP中使用18位来编码目标PC。因此它最多可以跳转262144条指令。这个限制是非常大的脚本的问题吗?例如,一个200兆字节的脚本,其中脚本最底部的函数调用脚本最顶端的函数?这会达到OP_JMP限制还是以不同方式实现的函数调用,而OP_JMP仅用于编码控件结构,如forif,...不太可能跳过超过2^18指令......

感谢任何能够对此有所了解的人!

0 个答案:

没有答案
相关问题