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 |
