diff options
author | chai <chaifix@163.com> | 2020-10-09 08:00:02 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-10-09 08:00:02 +0800 |
commit | 207a8cfdc82231904bea5de5294b44fb33243185 (patch) | |
tree | a25d7d659bb38ecc005b8dfd879230701bd644e2 /src/lua51/lvm.c | |
parent | dc0e292e76a00fb43ad7fbdd6d65a560927ce981 (diff) |
Diffstat (limited to 'src/lua51/lvm.c')
-rw-r--r-- | src/lua51/lvm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lua51/lvm.c b/src/lua51/lvm.c index 374dcd3..500ca4a 100644 --- a/src/lua51/lvm.c +++ b/src/lua51/lvm.c @@ -401,6 +401,8 @@ reentry: /* entry point */ for (;;) { const Instruction i = *pc++; StkId ra; + + // 触发hook if ((L->hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) && (--L->hookcount == 0 || L->hookmask & LUA_MASKLINE)) { traceexec(L, pc); @@ -410,6 +412,7 @@ reentry: /* entry point */ } base = L->base; } + /* warning!! several calls may realloc the stack and invalidate `ra' */ ra = RA(i); //c 从指令中拿到ra lua_assert(base == L->base && L->base == L->ci->base); |