Remove temporary mcode limit error from application stack.

This commit is contained in:
Mike Pall 2011-08-09 00:45:26 +02:00
parent d9b518874d
commit bed0f18466
2 changed files with 5 additions and 0 deletions

View File

@ -431,8 +431,12 @@ ASMFunction LJ_FASTCALL lj_dispatch_call(lua_State *L, const BCIns *pc)
goto out;
} else if (J->state != LJ_TRACE_IDLE &&
!(g->hookmask & (HOOK_GC|HOOK_VMEVENT))) {
#ifdef LUA_USE_ASSERT
ptrdiff_t delta = L->top - L->base;
#endif
/* Record the FUNC* bytecodes, too. */
lj_trace_ins(J, pc-1); /* The interpreter bytecode PC is offset by 1. */
lua_assert(L->top - L->base == delta);
}
#endif
if ((g->hookmask & LUA_MASKCALL)) {

View File

@ -497,6 +497,7 @@ static int trace_abort(jit_State *J)
if (tvisnumber(L->top-1))
e = (TraceError)numberVint(L->top-1);
if (e == LJ_TRERR_MCODELM) {
L->top--; /* Remove error object */
J->state = LJ_TRACE_ASM;
return 1; /* Retry ASM with new MCode area. */
}