binary operators use R instead of RK

faster + nobody uses RK(B), so B can be smaller (freeing one bit
for more opcodes, soon)
This commit is contained in:
Roberto Ierusalimschy
2017-09-26 15:14:45 -03:00
parent 13256a4173
commit 00e728af88
4 changed files with 73 additions and 76 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lopcodes.c,v 1.62 2017/09/15 14:19:06 roberto Exp roberto $
** $Id: lopcodes.c,v 1.63 2017/09/19 18:38:14 roberto Exp roberto $
** Opcodes for Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -101,18 +101,18 @@ LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = {
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */
,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */
,opmode(0, 1, OpArgR, OpArgU, iABC) /* OP_ADDI */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_IDIV */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHL */
,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHR */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_ADD */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_SUB */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_MUL */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_MOD */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_POW */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_DIV */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_IDIV */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_BAND */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_BOR */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_BXOR */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_SHL */
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_SHR */
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */
,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
@@ -120,9 +120,9 @@ LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = {
,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */
,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */
,opmode(0, 0, OpArgU, OpArgN, iAsBx) /* OP_JMP */
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */
,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */
,opmode(1, 0, OpArgR, OpArgR, iABC) /* OP_EQ */
,opmode(1, 0, OpArgR, OpArgR, iABC) /* OP_LT */
,opmode(1, 0, OpArgR, OpArgR, iABC) /* OP_LE */
,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TEST */
,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */
,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */