diff options
| author | Mike Pall <mike> | 2010-03-02 23:34:13 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2010-03-02 23:34:13 +0100 |
| commit | 32309583e584b565d78d6be8218023cd53732cfe (patch) | |
| tree | 440e0065fea11016f5ec445e087a89f0c6e42c76 /src | |
| parent | 20fa30b3889b611cb9e1bda72ee85b3e6c95db56 (diff) | |
| download | luajit-32309583e584b565d78d6be8218023cd53732cfe.tar.gz luajit-32309583e584b565d78d6be8218023cd53732cfe.tar.bz2 luajit-32309583e584b565d78d6be8218023cd53732cfe.zip | |
Improve register allocation on x64.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lj_asm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 34357e95..14d7dbd4 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
| @@ -791,6 +791,11 @@ static Reg ra_allocref(ASMState *as, IRRef ref, RegSet allow) | |||
| 791 | pick &= ~as->modset; | 791 | pick &= ~as->modset; |
| 792 | r = rset_pickbot(pick); /* Reduce conflicts with inverse allocation. */ | 792 | r = rset_pickbot(pick); /* Reduce conflicts with inverse allocation. */ |
| 793 | } else { | 793 | } else { |
| 794 | #if LJ_64 | ||
| 795 | /* We've got plenty of regs, so get callee-save regs if possible. */ | ||
| 796 | if ((pick & ~RSET_SCRATCH)) | ||
| 797 | pick &= ~RSET_SCRATCH; | ||
| 798 | #endif | ||
| 794 | r = rset_picktop(pick); | 799 | r = rset_picktop(pick); |
| 795 | } | 800 | } |
| 796 | } else { | 801 | } else { |
