diff options
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -1101,9 +1101,9 @@ void luaV_finishOp (lua_State *L) { | |||
1101 | /* idem, but without changing the stack */ | 1101 | /* idem, but without changing the stack */ |
1102 | #define halfProtectNT(exp) (savepc(L), (exp)) | 1102 | #define halfProtectNT(exp) (savepc(L), (exp)) |
1103 | 1103 | ||
1104 | 1104 | /* 'c' is the limit of live values in the stack */ | |
1105 | #define checkGC(L,c) \ | 1105 | #define checkGC(L,c) \ |
1106 | { luaC_condGC(L, L->top = (c), /* limit of live values */ \ | 1106 | { luaC_condGC(L, (savepc(L), L->top = (c)), \ |
1107 | updatetrap(ci)); \ | 1107 | updatetrap(ci)); \ |
1108 | luai_threadyield(L); } | 1108 | luai_threadyield(L); } |
1109 | 1109 | ||
@@ -1791,8 +1791,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { | |||
1791 | vmbreak; | 1791 | vmbreak; |
1792 | } | 1792 | } |
1793 | vmcase(OP_VARARGPREP) { | 1793 | vmcase(OP_VARARGPREP) { |
1794 | luaT_adjustvarargs(L, GETARG_A(i), ci, cl->p); | 1794 | ProtectNT(luaT_adjustvarargs(L, GETARG_A(i), ci, cl->p)); |
1795 | updatetrap(ci); | ||
1796 | if (trap) { | 1795 | if (trap) { |
1797 | luaD_hookcall(L, ci); | 1796 | luaD_hookcall(L, ci); |
1798 | L->oldpc = pc + 1; /* next opcode will be seen as a "new" line */ | 1797 | L->oldpc = pc + 1; /* next opcode will be seen as a "new" line */ |