CASE_OP 301 core/vm.c CASE_OP(MOVE, (P, f, &asmb, pos)) // copy value between registers CASE_OP 302 core/vm.c CASE_OP(LOADK, (P, f, &asmb, pos, need)) // load a constant into a register CASE_OP 303 core/vm.c CASE_OP(LOADPN, (P, f, &asmb, pos)) // load a value into a register CASE_OP 304 core/vm.c CASE_OP(SELF, (P, f, &asmb, pos, need)) // prepare an object method for calling CASE_OP 306 core/vm.c CASE_OP(GETLOCAL, (P, f, &asmb, pos, regs))// read a local into a register CASE_OP 307 core/vm.c CASE_OP(SETLOCAL, (P, f, &asmb, pos, regs))// write a register value into a local CASE_OP 308 core/vm.c CASE_OP(GETUPVAL, (P, f, &asmb, pos, lregs))// read an upvalue (upper scope) CASE_OP 309 core/vm.c CASE_OP(SETUPVAL, (P, f, &asmb, pos, lregs))// write to an upvalue CASE_OP 310 core/vm.c CASE_OP(GLOBAL, (P, f, &asmb, pos, need)) // returns a global (for get or set) CASE_OP 311 core/vm.c CASE_OP(NEWTUPLE, (P, f, &asmb, pos, need))// create tuple CASE_OP 312 core/vm.c CASE_OP(GETTUPLE, (P, f, &asmb, pos, need))// get tuple key (fast and unsafe) CASE_OP 313 core/vm.c CASE_OP(SETTUPLE, (P, f, &asmb, pos, need))// write register into tuple key CASE_OP 314 core/vm.c CASE_OP(GETTABLE, (P, f, &asmb, pos, need))// get table key CASE_OP 315 core/vm.c CASE_OP(SETTABLE, (P, f, &asmb, pos, need))// write register into a table entry CASE_OP 316 core/vm.c CASE_OP(NEWLICK, (P, f, &asmb, pos, need))// create lick. R[a] := {} (size = b,c) CASE_OP 317 core/vm.c CASE_OP(GETPATH, (P, f, &asmb, pos, need))// read obj field into register CASE_OP 318 core/vm.c CASE_OP(SETPATH, (P, f, &asmb, pos, need))// write into obj field CASE_OP 319 core/vm.c CASE_OP(ADD, (P, f, &asmb, pos, need)) // a = b + c CASE_OP 320 core/vm.c CASE_OP(SUB, (P, f, &asmb, pos, need)) // a = b - c CASE_OP 321 core/vm.c CASE_OP(MULT, (P, f, &asmb, pos, need)) CASE_OP 322 core/vm.c CASE_OP(DIV, (P, f, &asmb, pos, need)) CASE_OP 323 core/vm.c CASE_OP(REM, (P, f, &asmb, pos, need)) CASE_OP 324 core/vm.c CASE_OP(POW, (P, f, &asmb, pos, need)) CASE_OP 325 core/vm.c CASE_OP(NEQ, (P, f, &asmb, pos, need)) CASE_OP 326 core/vm.c CASE_OP(EQ, (P, f, &asmb, pos, need)) // if ((RK[b] == RK[c]) ~= a) then PC++ CASE_OP 327 core/vm.c CASE_OP(LT, (P, f, &asmb, pos)) // if ((RK[b] < RK[c]) ~= a) then PC++ CASE_OP 328 core/vm.c CASE_OP(LTE, (P, f, &asmb, pos)) // if ((RK[b] <= RK[c]) ~= a) then PC++ CASE_OP 329 core/vm.c CASE_OP(GT, (P, f, &asmb, pos)) CASE_OP 330 core/vm.c CASE_OP(GTE, (P, f, &asmb, pos)) CASE_OP 331 core/vm.c CASE_OP(BITN, (P, f, &asmb, pos, need)) CASE_OP 332 core/vm.c CASE_OP(BITL, (P, f, &asmb, pos, need)) CASE_OP 333 core/vm.c CASE_OP(BITR, (P, f, &asmb, pos, need)) CASE_OP 334 core/vm.c CASE_OP(DEF, (P, f, &asmb, pos, need)) // define a method for an object CASE_OP 335 core/vm.c CASE_OP(BIND, (P, f, &asmb, pos, need)) // extend obj by set a binding CASE_OP 337 core/vm.c CASE_OP(MSG, (P, f, &asmb, pos, need)) // call a method of an object CASE_OP 338 core/vm.c CASE_OP(JMP, (P, f, &asmb, pos, jmps, offs, &jmpc)) // PC += sBx CASE_OP 339 core/vm.c CASE_OP(TEST, (P, f, &asmb, pos)) // if not (R[a] <=> C) then PC++ CASE_OP 340 core/vm.c CASE_OP(NOT, (P, f, &asmb, pos)) // a = not b CASE_OP 341 core/vm.c CASE_OP(CMP, (P, f, &asmb, pos)) CASE_OP 342 core/vm.c CASE_OP(TESTJMP, (P, f, &asmb, pos, jmps, offs, &jmpc)) CASE_OP 343 core/vm.c CASE_OP(NOTJMP, (P, f, &asmb, pos, jmps, offs, &jmpc)) CASE_OP 344 core/vm.c CASE_OP(NAMED, (P, f, &asmb, pos, need)) // assign named args before a CALL CASE_OP 345 core/vm.c CASE_OP(CALL, (P, f, &asmb, pos, need)) // call a function. R[a],...:= R[a]( R[a+1],...,R[a+b-1] ) CASE_OP 346 core/vm.c CASE_OP(CALLSET, (P, f, &asmb, pos, need))//? set return register to write to CASE_OP 348 core/vm.c CASE_OP(RETURN, (P, f, &asmb, pos)) // return R[a], ... ,R[a+b-2] CASE_OP 349 core/vm.c CASE_OP(PROTO, (P, f, &asmb, &pos, lregs, need, regs))// define function prototype CASE_OP 350 core/vm.c CASE_OP(CLASS, (P, f, &asmb, pos, need)) // find class for register value