From a2abf2e09814f496fdffe444bb8fcd9c25d4b277 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Fri, 31 Jan 2014 20:44:27 +0100 Subject: [PATCH] Don't start a trace on side exit to non-Lua function. --- src/lj_trace.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lj_trace.c b/src/lj_trace.c index b4b3fc26..7bb6c8ae 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c @@ -682,6 +682,7 @@ static void trace_hotside(jit_State *J, const BCIns *pc) { SnapShot *snap = &traceref(J, J->parent)->snap[J->exitno]; if (!(J2G(J)->hookmask & (HOOK_GC|HOOK_VMEVENT)) && + isluafunc(curr_func(J->L)) && snap->count != SNAPCOUNT_DONE && ++snap->count >= J->param[JIT_P_hotexit]) { lua_assert(J->state == LJ_TRACE_IDLE);