zombiezen.com/go/lua@v0.0.0-20231013005828-290725fb9140/internal/lua54/ljumptab.h (about)

     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  };