Lua5.3 虚拟机指令分析(十)表相关指令
OP_NEWTABLE
OP_NEWTABLE,/* A B C R(A) := {} (size = B,C) */
创建一个新表,结果存放在A所在的栈位置,表的数组大小为B,表的Hash大小为C.
TTcs-Mac-mini:OpCode ttc$ cat tOP_NEWTABLE.lua
local a = {}
a[1]= 100
a[2]="TTc"
TTcs-Mac-mini:OpCode ttc$ ./luac -l -l tOP_NEWTABLE.lua
main <tOP_NEWTABLE.lua:0,0> (4 instructions at 0x7f883b5001c0)
0+ params, 2 slots, 1 upvalue, 1 local, 4 constants, 0 functions
1 [1] NEWTABLE (iABC) [A]0 [ISK]0[B]0[ISK]0[C]0
2 [2] SETTABLE (iABC) [A]0 [ISK]256[B]-1[ISK]256[C]-2 ; 1 100
3 [3] SETTABLE (iABC) [A]0 [ISK]256[B]-3[ISK]256[C]-4 ; 2 "TTc"
4 [3] RETURN (iABC) [A]0 [ISK]0[B]1[ISK]0
constants (4) for 0x7f883b5001c0:
1(idx) 1
2(idx) 100
3(idx) 2
4(idx) "TTc"
locals (1) for 0x7f883b5001c0:
0 a(name) 2(startpc) 5(endpc)
upvalues (1) for 0x7f883b5001c0:
0 _ENV(name)