diff options
| author | Mike Pall <mike> | 2011-05-22 18:33:33 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2011-05-22 18:33:33 +0200 |
| commit | 288085afbe916ac334dbc88ee2da836fb837bbca (patch) | |
| tree | bcbcf80010efabd37a71af3f93f39debe6de09fa /lib/dis_x86.lua | |
| parent | c156c8a10171f7760fcbffe95ae4c8813e56da12 (diff) | |
| download | luajit-288085afbe916ac334dbc88ee2da836fb837bbca.tar.gz luajit-288085afbe916ac334dbc88ee2da836fb837bbca.tar.bz2 luajit-288085afbe916ac334dbc88ee2da836fb837bbca.zip | |
Get register maps for jit.dump from target disassembler.
Diffstat (limited to 'lib/dis_x86.lua')
| -rw-r--r-- | lib/dis_x86.lua | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/dis_x86.lua b/lib/dis_x86.lua index eb447eb0..f489a861 100644 --- a/lib/dis_x86.lua +++ b/lib/dis_x86.lua | |||
| @@ -813,6 +813,16 @@ local function disass64_(code, addr, out) | |||
| 813 | create64_(code, addr, out):disass() | 813 | create64_(code, addr, out):disass() |
| 814 | end | 814 | end |
| 815 | 815 | ||
| 816 | -- Return register name for RID. | ||
| 817 | local function regname_(r) | ||
| 818 | if r < 8 then return map_regs.D[r+1] end | ||
| 819 | return map_regs.X[r-7] | ||
| 820 | end | ||
| 821 | |||
| 822 | local function regname64_(r) | ||
| 823 | if r < 16 then return map_regs.Q[r+1] end | ||
| 824 | return map_regs.X[r-15] | ||
| 825 | end | ||
| 816 | 826 | ||
| 817 | -- Public module functions. | 827 | -- Public module functions. |
| 818 | module(...) | 828 | module(...) |
| @@ -821,4 +831,6 @@ create = create_ | |||
| 821 | create64 = create64_ | 831 | create64 = create64_ |
| 822 | disass = disass_ | 832 | disass = disass_ |
| 823 | disass64 = disass64_ | 833 | disass64 = disass64_ |
| 834 | regname = regname_ | ||
| 835 | regname64 = regname64_ | ||
| 824 | 836 | ||
