lua

A copy of the Lua development repository
Log | Files | Refs | README

ljumptab.h (1663B)


      1 /*
      2 ** $Id: ljumptab.h $
      3 ** Jump Table for the Lua interpreter
      4 ** See Copyright Notice in lua.h
      5 */
      6 
      7 
      8 #undef vmdispatch
      9 #undef vmcase
     10 #undef vmbreak
     11 
     12 #define vmdispatch(x)     goto *disptab[x];
     13 
     14 #define vmcase(l)     L_##l:
     15 
     16 #define vmbreak		vmfetch(); vmdispatch(GET_OPCODE(i));
     17 
     18 
     19 static const void *const disptab[NUM_OPCODES] = {
     20 
     21 #if 0
     22 ** you can update the following list with this command:
     23 **
     24 **  sed -n '/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p'  lopcodes.h
     25 **
     26 #endif
     27 
     28 &&L_OP_MOVE,
     29 &&L_OP_LOADI,
     30 &&L_OP_LOADF,
     31 &&L_OP_LOADK,
     32 &&L_OP_LOADKX,
     33 &&L_OP_LOADFALSE,
     34 &&L_OP_LFALSESKIP,
     35 &&L_OP_LOADTRUE,
     36 &&L_OP_LOADNIL,
     37 &&L_OP_GETUPVAL,
     38 &&L_OP_SETUPVAL,
     39 &&L_OP_GETTABUP,
     40 &&L_OP_GETTABLE,
     41 &&L_OP_GETI,
     42 &&L_OP_GETFIELD,
     43 &&L_OP_SETTABUP,
     44 &&L_OP_SETTABLE,
     45 &&L_OP_SETI,
     46 &&L_OP_SETFIELD,
     47 &&L_OP_NEWTABLE,
     48 &&L_OP_SELF,
     49 &&L_OP_ADDI,
     50 &&L_OP_ADDK,
     51 &&L_OP_SUBK,
     52 &&L_OP_MULK,
     53 &&L_OP_MODK,
     54 &&L_OP_POWK,
     55 &&L_OP_DIVK,
     56 &&L_OP_IDIVK,
     57 &&L_OP_BANDK,
     58 &&L_OP_BORK,
     59 &&L_OP_BXORK,
     60 &&L_OP_SHRI,
     61 &&L_OP_SHLI,
     62 &&L_OP_ADD,
     63 &&L_OP_SUB,
     64 &&L_OP_MUL,
     65 &&L_OP_MOD,
     66 &&L_OP_POW,
     67 &&L_OP_DIV,
     68 &&L_OP_IDIV,
     69 &&L_OP_BAND,
     70 &&L_OP_BOR,
     71 &&L_OP_BXOR,
     72 &&L_OP_SHL,
     73 &&L_OP_SHR,
     74 &&L_OP_MMBIN,
     75 &&L_OP_MMBINI,
     76 &&L_OP_MMBINK,
     77 &&L_OP_UNM,
     78 &&L_OP_BNOT,
     79 &&L_OP_NOT,
     80 &&L_OP_LEN,
     81 &&L_OP_CONCAT,
     82 &&L_OP_CLOSE,
     83 &&L_OP_TBC,
     84 &&L_OP_JMP,
     85 &&L_OP_EQ,
     86 &&L_OP_LT,
     87 &&L_OP_LE,
     88 &&L_OP_EQK,
     89 &&L_OP_EQI,
     90 &&L_OP_LTI,
     91 &&L_OP_LEI,
     92 &&L_OP_GTI,
     93 &&L_OP_GEI,
     94 &&L_OP_TEST,
     95 &&L_OP_TESTSET,
     96 &&L_OP_CALL,
     97 &&L_OP_TAILCALL,
     98 &&L_OP_RETURN,
     99 &&L_OP_RETURN0,
    100 &&L_OP_RETURN1,
    101 &&L_OP_FORLOOP,
    102 &&L_OP_FORPREP,
    103 &&L_OP_TFORPREP,
    104 &&L_OP_TFORCALL,
    105 &&L_OP_TFORLOOP,
    106 &&L_OP_SETLIST,
    107 &&L_OP_CLOSURE,
    108 &&L_OP_VARARG,
    109 &&L_OP_VARARGPREP,
    110 &&L_OP_EXTRAARG
    111 
    112 };