From 0de543ca2bdf121bffe1a43d985b486e13460e61 Mon Sep 17 00:00:00 2001 From: terminx Date: Sat, 2 Mar 2019 23:21:09 +0000 Subject: [PATCH] This was slightly faster here git-svn-id: https://svn.eduke32.com/eduke32@7363 1a8010ca-5511-0410-912e-c29ae57300e0 --- source/duke3d/src/gameexec.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/duke3d/src/gameexec.cpp b/source/duke3d/src/gameexec.cpp index c8723a2b2..e7a9217f4 100644 --- a/source/duke3d/src/gameexec.cpp +++ b/source/duke3d/src/gameexec.cpp @@ -1272,8 +1272,8 @@ void Screen_Play(void) #endif #ifdef CON_DIRECT_THREADING_DISPATCH # define vInstruction(KEYWORDID) VINST_ ## KEYWORDID -# define eval(INSTRUCTION) {if (INSTRUCTION >= 0 && INSTRUCTION <= CON_OPCODE_END) {goto *jumpTable[INSTRUCTION];} else {goto VINST_CON_OPCODE_END;}} -# define dispatch(INSTRUCTION) {if (loop) {tw = *insptr; g_errorLineNum = tw >> 12; g_tw = tw &= VM_INSTMASK; eval(INSTRUCTION)} else {return;}} +# define eval(INSTRUCTION) {if ((unsigned)INSTRUCTION <= CON_OPCODE_END) {goto *jumpTable[INSTRUCTION];} goto VINST_CON_OPCODE_END;} +# define dispatch(INSTRUCTION) {if (loop) {tw = *insptr; g_errorLineNum = tw >> 12; g_tw = tw &= VM_INSTMASK; eval(INSTRUCTION)} return;} # define vInstructionPointer(KEYWORDID) &&VINST_ ## KEYWORDID # define COMMA , # define JUMP_TABLE_ARRAY_LITERAL { TRANSFORM_SCRIPT_KEYWORDS_LIST(vInstructionPointer, COMMA) }