From ab834de8b6a963a83046a72b5a7751dcd6cdcff0 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 11 Feb 2026 23:12:53 +0100 Subject: Avoid recording interference due to invocation of VM hooks. Thanks to Sergey Kaplun. #1429 #1434 --- src/lj_trace.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/lj_trace.c') diff --git a/src/lj_trace.c b/src/lj_trace.c index 1f3686a3..e55045f4 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c @@ -467,7 +467,11 @@ static void trace_start(jit_State *J) J->ktrace = 0; setgcref(J->cur.startpt, obj2gco(J->pt)); - lj_vmevent_send(J2G(J), TRACE, + lj_vmevent_send_(J2G(J), TRACE, + TValue savetv = J2G(J)->tmptv; + TValue savetv2 = J2G(J)->tmptv2; + TraceNo parent = J->parent; + ExitNo exitno = J->exitno; setstrV(V, V->top++, lj_str_newlit(V, "start")); setintV(V->top++, traceno); setfuncV(V, V->top++, J->fn); @@ -482,6 +486,11 @@ static void trace_start(jit_State *J) setintV(V->top++, -1); } } + , + J2G(J)->tmptv = savetv; + J2G(J)->tmptv2 = savetv2; + J->parent = parent; + J->exitno = exitno; ); lj_record_setup(J); } -- cgit v1.2.3-55-g6feb