From bf2d4acf005e301ee593d9b73402967a339aa220 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 16 Jul 2012 22:36:38 +0200 Subject: [PATCH] Correct dispatch table modifications for return hooks. --- src/lj_dispatch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lj_dispatch.c b/src/lj_dispatch.c index 427036b4..f795954b 100644 --- a/src/lj_dispatch.c +++ b/src/lj_dispatch.c @@ -86,7 +86,7 @@ void lj_dispatch_init_hotcount(global_State *g) #define DISPMODE_REC 0x02 /* Recording active. */ #define DISPMODE_INS 0x04 /* Override instruction dispatch. */ #define DISPMODE_CALL 0x08 /* Override call dispatch. */ -#define DISPMODE_RET 0x08 /* Override return dispatch. */ +#define DISPMODE_RET 0x10 /* Override return dispatch. */ /* Update dispatch table depending on various flags. */ void lj_dispatch_update(global_State *g) @@ -167,7 +167,7 @@ void lj_dispatch_update(global_State *g) /* Set dynamic call dispatch. */ if ((oldmode ^ mode) & DISPMODE_CALL) { /* Update the whole table? */ uint32_t i; - if ((mode & 8) == 0) { /* No call hooks? */ + if ((mode & DISPMODE_CALL) == 0) { /* No call hooks? */ for (i = GG_LEN_SDISP; i < GG_LEN_DDISP; i++) disp[i] = makeasmfunc(lj_bc_ofs[i]); } else {