misc/liblua/lopcodes.c
changeset 10017 de822cd3df3a
parent 2812 0a24853de796
equal deleted inserted replaced
10015:4feced261c68 10017:de822cd3df3a
    57 
    57 
    58 
    58 
    59 #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
    59 #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
    60 
    60 
    61 const lu_byte luaP_opmodes[NUM_OPCODES] = {
    61 const lu_byte luaP_opmodes[NUM_OPCODES] = {
    62 /*       T  A    B       C     mode		   opcode	*/
    62 /*       T  A    B       C     mode        opcode   */
    63   opmode(0, 1, OpArgR, OpArgN, iABC) 		/* OP_MOVE */
    63   opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_MOVE */
    64  ,opmode(0, 1, OpArgK, OpArgN, iABx)		/* OP_LOADK */
    64  ,opmode(0, 1, OpArgK, OpArgN, iABx)        /* OP_LOADK */
    65  ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_LOADBOOL */
    65  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_LOADBOOL */
    66  ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_LOADNIL */
    66  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_LOADNIL */
    67  ,opmode(0, 1, OpArgU, OpArgN, iABC)		/* OP_GETUPVAL */
    67  ,opmode(0, 1, OpArgU, OpArgN, iABC)        /* OP_GETUPVAL */
    68  ,opmode(0, 1, OpArgK, OpArgN, iABx)		/* OP_GETGLOBAL */
    68  ,opmode(0, 1, OpArgK, OpArgN, iABx)        /* OP_GETGLOBAL */
    69  ,opmode(0, 1, OpArgR, OpArgK, iABC)		/* OP_GETTABLE */
    69  ,opmode(0, 1, OpArgR, OpArgK, iABC)        /* OP_GETTABLE */
    70  ,opmode(0, 0, OpArgK, OpArgN, iABx)		/* OP_SETGLOBAL */
    70  ,opmode(0, 0, OpArgK, OpArgN, iABx)        /* OP_SETGLOBAL */
    71  ,opmode(0, 0, OpArgU, OpArgN, iABC)		/* OP_SETUPVAL */
    71  ,opmode(0, 0, OpArgU, OpArgN, iABC)        /* OP_SETUPVAL */
    72  ,opmode(0, 0, OpArgK, OpArgK, iABC)		/* OP_SETTABLE */
    72  ,opmode(0, 0, OpArgK, OpArgK, iABC)        /* OP_SETTABLE */
    73  ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_NEWTABLE */
    73  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_NEWTABLE */
    74  ,opmode(0, 1, OpArgR, OpArgK, iABC)		/* OP_SELF */
    74  ,opmode(0, 1, OpArgR, OpArgK, iABC)        /* OP_SELF */
    75  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_ADD */
    75  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_ADD */
    76  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_SUB */
    76  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_SUB */
    77  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_MUL */
    77  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_MUL */
    78  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_DIV */
    78  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_DIV */
    79  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_MOD */
    79  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_MOD */
    80  ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_POW */
    80  ,opmode(0, 1, OpArgK, OpArgK, iABC)        /* OP_POW */
    81  ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_UNM */
    81  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_UNM */
    82  ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_NOT */
    82  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_NOT */
    83  ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_LEN */
    83  ,opmode(0, 1, OpArgR, OpArgN, iABC)        /* OP_LEN */
    84  ,opmode(0, 1, OpArgR, OpArgR, iABC)		/* OP_CONCAT */
    84  ,opmode(0, 1, OpArgR, OpArgR, iABC)        /* OP_CONCAT */
    85  ,opmode(0, 0, OpArgR, OpArgN, iAsBx)		/* OP_JMP */
    85  ,opmode(0, 0, OpArgR, OpArgN, iAsBx)       /* OP_JMP */
    86  ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_EQ */
    86  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_EQ */
    87  ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_LT */
    87  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_LT */
    88  ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_LE */
    88  ,opmode(1, 0, OpArgK, OpArgK, iABC)        /* OP_LE */
    89  ,opmode(1, 1, OpArgR, OpArgU, iABC)		/* OP_TEST */
    89  ,opmode(1, 1, OpArgR, OpArgU, iABC)        /* OP_TEST */
    90  ,opmode(1, 1, OpArgR, OpArgU, iABC)		/* OP_TESTSET */
    90  ,opmode(1, 1, OpArgR, OpArgU, iABC)        /* OP_TESTSET */
    91  ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_CALL */
    91  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_CALL */
    92  ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_TAILCALL */
    92  ,opmode(0, 1, OpArgU, OpArgU, iABC)        /* OP_TAILCALL */
    93  ,opmode(0, 0, OpArgU, OpArgN, iABC)		/* OP_RETURN */
    93  ,opmode(0, 0, OpArgU, OpArgN, iABC)        /* OP_RETURN */
    94  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)		/* OP_FORLOOP */
    94  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)       /* OP_FORLOOP */
    95  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)		/* OP_FORPREP */
    95  ,opmode(0, 1, OpArgR, OpArgN, iAsBx)       /* OP_FORPREP */
    96  ,opmode(1, 0, OpArgN, OpArgU, iABC)		/* OP_TFORLOOP */
    96  ,opmode(1, 0, OpArgN, OpArgU, iABC)        /* OP_TFORLOOP */
    97  ,opmode(0, 0, OpArgU, OpArgU, iABC)		/* OP_SETLIST */
    97  ,opmode(0, 0, OpArgU, OpArgU, iABC)        /* OP_SETLIST */
    98  ,opmode(0, 0, OpArgN, OpArgN, iABC)		/* OP_CLOSE */
    98  ,opmode(0, 0, OpArgN, OpArgN, iABC)        /* OP_CLOSE */
    99  ,opmode(0, 1, OpArgU, OpArgN, iABx)		/* OP_CLOSURE */
    99  ,opmode(0, 1, OpArgU, OpArgN, iABx)        /* OP_CLOSURE */
   100  ,opmode(0, 1, OpArgU, OpArgN, iABC)		/* OP_VARARG */
   100  ,opmode(0, 1, OpArgU, OpArgN, iABC)        /* OP_VARARG */
   101 };
   101 };
   102 
   102