]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Fix -jdump broken by 2ef2c34d.
authorMike Pall <mike>
Wed, 29 May 2013 17:57:59 +0000 (19:57 +0200)
committerMike Pall <mike>
Wed, 29 May 2013 17:59:26 +0000 (19:59 +0200)
src/jit/dump.lua

index 18a4d260d484f4c108f27029d8bc2169c3a2c4d3..4b79ad6a43b162e8a58b610aa2fc79668c84d8e8 100644 (file)
@@ -90,6 +90,7 @@ local function fillsymtab_tr(tr, nexit)
   end
   for i=0,nexit-1 do
     local addr = traceexitstub(tr, i)
+    if addr < 0 then addr = addr + 2^32 end
     t[addr] = tostring(i)
   end
   local addr = traceexitstub(tr, nexit)
@@ -103,7 +104,10 @@ local function fillsymtab(tr, nexit)
     local ircall = vmdef.ircall
     for i=0,#ircall do
       local addr = ircalladdr(i)
-      if addr ~= 0 then t[addr] = ircall[i] end
+      if addr ~= 0 then
+       if addr < 0 then addr = addr + 2^32 end
+       t[addr] = ircall[i]
+      end
     end
   end
   if nexitsym == 1000000 then -- Per-trace exit stubs.
@@ -117,6 +121,7 @@ local function fillsymtab(tr, nexit)
        nexit = 1000000
        break
       end
+      if addr < 0 then addr = addr + 2^32 end
       t[addr] = tostring(i)
     end
     nexitsym = nexit