113 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
** $Id: ljumptab.h $
 | 
						|
** Jump Table for the Lua interpreter
 | 
						|
** See Copyright Notice in lua.h
 | 
						|
*/
 | 
						|
 | 
						|
 | 
						|
#undef vmdispatch
 | 
						|
#undef vmcase
 | 
						|
#undef vmbreak
 | 
						|
 | 
						|
#define vmdispatch(x)     goto *disptab[x];
 | 
						|
 | 
						|
#define vmcase(l)     L_##l:
 | 
						|
 | 
						|
#define vmbreak		vmfetch(); vmdispatch(GET_OPCODE(i));
 | 
						|
 | 
						|
 | 
						|
static const void *const disptab[NUM_OPCODES] = {
 | 
						|
 | 
						|
#if 0
 | 
						|
** you can update the following list with this command:
 | 
						|
**
 | 
						|
**  sed -n '/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p'  lopcodes.h
 | 
						|
**
 | 
						|
#endif
 | 
						|
 | 
						|
&&L_OP_MOVE,
 | 
						|
&&L_OP_LOADI,
 | 
						|
&&L_OP_LOADF,
 | 
						|
&&L_OP_LOADK,
 | 
						|
&&L_OP_LOADKX,
 | 
						|
&&L_OP_LOADFALSE,
 | 
						|
&&L_OP_LFALSESKIP,
 | 
						|
&&L_OP_LOADTRUE,
 | 
						|
&&L_OP_LOADNIL,
 | 
						|
&&L_OP_GETUPVAL,
 | 
						|
&&L_OP_SETUPVAL,
 | 
						|
&&L_OP_GETTABUP,
 | 
						|
&&L_OP_GETTABLE,
 | 
						|
&&L_OP_GETI,
 | 
						|
&&L_OP_GETFIELD,
 | 
						|
&&L_OP_SETTABUP,
 | 
						|
&&L_OP_SETTABLE,
 | 
						|
&&L_OP_SETI,
 | 
						|
&&L_OP_SETFIELD,
 | 
						|
&&L_OP_NEWTABLE,
 | 
						|
&&L_OP_SELF,
 | 
						|
&&L_OP_ADDI,
 | 
						|
&&L_OP_ADDK,
 | 
						|
&&L_OP_SUBK,
 | 
						|
&&L_OP_MULK,
 | 
						|
&&L_OP_MODK,
 | 
						|
&&L_OP_POWK,
 | 
						|
&&L_OP_DIVK,
 | 
						|
&&L_OP_IDIVK,
 | 
						|
&&L_OP_BANDK,
 | 
						|
&&L_OP_BORK,
 | 
						|
&&L_OP_BXORK,
 | 
						|
&&L_OP_SHRI,
 | 
						|
&&L_OP_SHLI,
 | 
						|
&&L_OP_ADD,
 | 
						|
&&L_OP_SUB,
 | 
						|
&&L_OP_MUL,
 | 
						|
&&L_OP_MOD,
 | 
						|
&&L_OP_POW,
 | 
						|
&&L_OP_DIV,
 | 
						|
&&L_OP_IDIV,
 | 
						|
&&L_OP_BAND,
 | 
						|
&&L_OP_BOR,
 | 
						|
&&L_OP_BXOR,
 | 
						|
&&L_OP_SHL,
 | 
						|
&&L_OP_SHR,
 | 
						|
&&L_OP_MMBIN,
 | 
						|
&&L_OP_MMBINI,
 | 
						|
&&L_OP_MMBINK,
 | 
						|
&&L_OP_UNM,
 | 
						|
&&L_OP_BNOT,
 | 
						|
&&L_OP_NOT,
 | 
						|
&&L_OP_LEN,
 | 
						|
&&L_OP_CONCAT,
 | 
						|
&&L_OP_CLOSE,
 | 
						|
&&L_OP_TBC,
 | 
						|
&&L_OP_JMP,
 | 
						|
&&L_OP_EQ,
 | 
						|
&&L_OP_LT,
 | 
						|
&&L_OP_LE,
 | 
						|
&&L_OP_EQK,
 | 
						|
&&L_OP_EQI,
 | 
						|
&&L_OP_LTI,
 | 
						|
&&L_OP_LEI,
 | 
						|
&&L_OP_GTI,
 | 
						|
&&L_OP_GEI,
 | 
						|
&&L_OP_TEST,
 | 
						|
&&L_OP_TESTSET,
 | 
						|
&&L_OP_CALL,
 | 
						|
&&L_OP_TAILCALL,
 | 
						|
&&L_OP_RETURN,
 | 
						|
&&L_OP_RETURN0,
 | 
						|
&&L_OP_RETURN1,
 | 
						|
&&L_OP_FORLOOP,
 | 
						|
&&L_OP_FORPREP,
 | 
						|
&&L_OP_TFORPREP,
 | 
						|
&&L_OP_TFORCALL,
 | 
						|
&&L_OP_TFORLOOP,
 | 
						|
&&L_OP_SETLIST,
 | 
						|
&&L_OP_CLOSURE,
 | 
						|
&&L_OP_VARARG,
 | 
						|
&&L_OP_VARARGPREP,
 | 
						|
&&L_OP_EXTRAARG
 | 
						|
 | 
						|
};
 |