diff options
Diffstat (limited to 'lib/dump.lua')
-rw-r--r-- | lib/dump.lua | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/dump.lua b/lib/dump.lua index 37c06502..3d62c4ea 100644 --- a/lib/dump.lua +++ b/lib/dump.lua | |||
@@ -84,6 +84,10 @@ local nexitsym = 0 | |||
84 | local function fillsymtab_tr(tr, nexit) | 84 | local function fillsymtab_tr(tr, nexit) |
85 | local t = {} | 85 | local t = {} |
86 | symtabmt.__index = t | 86 | symtabmt.__index = t |
87 | if jit.arch == "mips" or jit.arch == "mipsel" then | ||
88 | t[traceexitstub(tr, 0)] = "exit" | ||
89 | return | ||
90 | end | ||
87 | for i=0,nexit-1 do | 91 | for i=0,nexit-1 do |
88 | local addr = traceexitstub(tr, i) | 92 | local addr = traceexitstub(tr, i) |
89 | t[addr] = tostring(i) | 93 | t[addr] = tostring(i) |
@@ -604,9 +608,16 @@ local function dump_texit(tr, ex, ngpr, nfpr, ...) | |||
604 | if i % 8 == 0 then out:write("\n") end | 608 | if i % 8 == 0 then out:write("\n") end |
605 | end | 609 | end |
606 | end | 610 | end |
607 | for i=1,nfpr do | 611 | if jit.arch == "mips" or jit.arch == "mipsel" then |
608 | out:write(format(" %+17.14g", regs[ngpr+i])) | 612 | for i=1,nfpr,2 do |
609 | if i % 4 == 0 then out:write("\n") end | 613 | out:write(format(" %+17.14g", regs[ngpr+i])) |
614 | if i % 8 == 7 then out:write("\n") end | ||
615 | end | ||
616 | else | ||
617 | for i=1,nfpr do | ||
618 | out:write(format(" %+17.14g", regs[ngpr+i])) | ||
619 | if i % 4 == 0 then out:write("\n") end | ||
620 | end | ||
610 | end | 621 | end |
611 | end | 622 | end |
612 | end | 623 | end |