diff --git a/bugs b/bugs index 45345a85..adf118d4 100644 --- a/bugs +++ b/bugs @@ -1422,15 +1422,21 @@ since = [[?]], example = [[ ]], patch = [[ lvm.c: -@@ -61,7 +61,7 @@ +@@ -61,11 +61,9 @@ lu_byte mask = L->hookmask; const Instruction *oldpc = L->savedpc; L->savedpc = pc; - if (mask > LUA_MASKLINE) { /* instruction-hook set? */ +- if (L->hookcount == 0) { +- resethookcount(L); +- luaD_callhook(L, LUA_HOOKCOUNT, -1); +- } + if ((mask & LUA_MASKCOUNT) && L->hookcount == 0) { - if (L->hookcount == 0) { - resethookcount(L); - luaD_callhook(L, LUA_HOOKCOUNT, -1); ++ resethookcount(L); ++ luaD_callhook(L, LUA_HOOKCOUNT, -1); + } + if (mask & LUA_MASKLINE) { + Proto *p = ci_func(L->ci)->l.p; ]], }