Lua5.3 虚拟机指令分析(六)不定参数

来源:互联网 发布:剑网三捏脸数据免费 编辑:程序博客网 时间:2024/06/01 09:26

Lua5.3 虚拟机指令分析(六)不定参数

OP_VARARG

OP_VARARG,/*    A B R(A), R(A+1), ..., R(A+B-2) = vararg        */TTcs-Mac-mini:OpCode ttc$ cat tOP_VARARG.luaf1 = function(...) endf1(10,20,...)TTcs-Mac-mini:OpCode ttc$ ./luac -l -l tOP_VARARG.luamain <tOP_VARARG.lua:0,0> (8 instructions at 0x7fa857403870)0+ params, 4 slots, 1 upvalue, 0 locals, 3 constants, 1 function    1   [1] CLOSURE     (iABx) [A]0 [U]0    ; 0x7fa857403a20    2   [1] SETTABUP    (iABC) [A]0 [ISK]256[B]-1[ISK]0[C]0 ; _ENV "f1"    3   [3] GETTABUP    (iABC) [A]0 [ISK]0[B]0[ISK]256[C]-1 ; _ENV "f1"    4   [3] LOADK       (iABx) [A]1 [K]-2   ; 10    5   [3] LOADK       (iABx) [A]2 [K]-3   ; 20    6   [3] VARARG      (iABC) [A]3 [ISK]0[B]0[ISK]0    7   [3] CALL        (iABC) [A]0 [ISK]0[B]0[ISK]0[C]1    8   [3] RETURN      (iABC) [A]0 [ISK]0[B]1[ISK]0constants (3) for 0x7fa857403870:    1(idx)  "f1"    2(idx)  10    3(idx)  20locals (0) for 0x7fa857403870:upvalues (1) for 0x7fa857403870:    0    _ENV(name)      1(instack)      0(idx)function <tOP_VARARG.lua:1,1> (1 instruction at 0x7fa857403a20)0+ params, 2 slots, 0 upvalues, 0 locals, 0 constants, 0 functions    1   [1] RETURN      (iABC) [A]0 [ISK]0[B]1[ISK]0constants (0) for 0x7fa857403a20:locals (0) for 0x7fa857403a20:upvalues (0) for 0x7fa857403a20:TTcs-Mac-mini:OpCode ttc$
原创粉丝点击