From f3712df3b7596210568ba30be18872fae7795dff Mon Sep 17 00:00:00 2001 From: Vyacheslav Egorov Date: Wed, 30 Sep 2015 19:14:05 +0200 Subject: [PATCH] dump.lua must discard symbol table on 'flush' event. Exit stub groups are discarded together with traces and might end up at a different address after the flush. --- src/jit/dump.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/jit/dump.lua b/src/jit/dump.lua index 5f858492..b8868978 100644 --- a/src/jit/dump.lua +++ b/src/jit/dump.lua @@ -571,6 +571,11 @@ local function dump_trace(what, tr, func, pc, otr, oex) end if dumpmode.H then out:write("\n\n") else out:write("\n") end else + if what == "flush" then + -- Discard symbol table because exit stubs were discarded together + -- with traces. New exit stubs might have different addresses. + symtab, nexitsym = {}, 0 + end out:write("---- TRACE ", what, "\n\n") end out:flush()