A vararg table can be virtual. If the vararg table is used only as a base in indexing expressions, the code does not need to create an actual table for it. Instead, it compiles the indexing expressions into direct accesses to the internal vararg data.
105 lines
1.1 KiB
C
105 lines
1.1 KiB
C
/*
|
|
** $Id: lopnames.h $
|
|
** Opcode names
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
|
|
#if !defined(lopnames_h)
|
|
#define lopnames_h
|
|
|
|
#include <stddef.h>
|
|
|
|
|
|
/* ORDER OP */
|
|
|
|
static const char *const opnames[] = {
|
|
"MOVE",
|
|
"LOADI",
|
|
"LOADF",
|
|
"LOADK",
|
|
"LOADKX",
|
|
"LOADFALSE",
|
|
"LFALSESKIP",
|
|
"LOADTRUE",
|
|
"LOADNIL",
|
|
"GETUPVAL",
|
|
"SETUPVAL",
|
|
"GETTABUP",
|
|
"GETTABLE",
|
|
"GETI",
|
|
"GETFIELD",
|
|
"SETTABUP",
|
|
"SETTABLE",
|
|
"SETI",
|
|
"SETFIELD",
|
|
"NEWTABLE",
|
|
"SELF",
|
|
"ADDI",
|
|
"ADDK",
|
|
"SUBK",
|
|
"MULK",
|
|
"MODK",
|
|
"POWK",
|
|
"DIVK",
|
|
"IDIVK",
|
|
"BANDK",
|
|
"BORK",
|
|
"BXORK",
|
|
"SHLI",
|
|
"SHRI",
|
|
"ADD",
|
|
"SUB",
|
|
"MUL",
|
|
"MOD",
|
|
"POW",
|
|
"DIV",
|
|
"IDIV",
|
|
"BAND",
|
|
"BOR",
|
|
"BXOR",
|
|
"SHL",
|
|
"SHR",
|
|
"MMBIN",
|
|
"MMBINI",
|
|
"MMBINK",
|
|
"UNM",
|
|
"BNOT",
|
|
"NOT",
|
|
"LEN",
|
|
"CONCAT",
|
|
"CLOSE",
|
|
"TBC",
|
|
"JMP",
|
|
"EQ",
|
|
"LT",
|
|
"LE",
|
|
"EQK",
|
|
"EQI",
|
|
"LTI",
|
|
"LEI",
|
|
"GTI",
|
|
"GEI",
|
|
"TEST",
|
|
"TESTSET",
|
|
"CALL",
|
|
"TAILCALL",
|
|
"RETURN",
|
|
"RETURN0",
|
|
"RETURN1",
|
|
"FORLOOP",
|
|
"FORPREP",
|
|
"TFORPREP",
|
|
"TFORCALL",
|
|
"TFORLOOP",
|
|
"SETLIST",
|
|
"CLOSURE",
|
|
"VARARG",
|
|
"GETVARG",
|
|
"VARARGPREP",
|
|
"EXTRAARG",
|
|
NULL
|
|
};
|
|
|
|
#endif
|
|
|