diff options
author | Mike Pall <mike> | 2011-11-14 23:52:26 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2011-11-14 23:52:26 +0100 |
commit | 87456f73f5887ce9c54ce0ca5cc19c3544309af4 (patch) | |
tree | 0796616e7eef7f6ac4625953315849362a028053 | |
parent | 71d00a56dbab6c29c0346093dbe530d7b7608be4 (diff) | |
download | luajit-87456f73f5887ce9c54ce0ca5cc19c3544309af4.tar.gz luajit-87456f73f5887ce9c54ce0ca5cc19c3544309af4.tar.bz2 luajit-87456f73f5887ce9c54ce0ca5cc19c3544309af4.zip |
Fix hint-based register allocation in ra_dest().
-rw-r--r-- | src/lj_asm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 49fd45b4..be6a11ff 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -625,7 +625,7 @@ static Reg ra_dest(ASMState *as, IRIns *ir, RegSet allow) | |||
625 | ra_free(as, dest); | 625 | ra_free(as, dest); |
626 | ra_modified(as, dest); | 626 | ra_modified(as, dest); |
627 | } else { | 627 | } else { |
628 | if (ra_hashint(dest) && rset_test(as->freeset, ra_gethint(dest))) { | 628 | if (ra_hashint(dest) && rset_test((as->freeset&allow), ra_gethint(dest))) { |
629 | dest = ra_gethint(dest); | 629 | dest = ra_gethint(dest); |
630 | ra_modified(as, dest); | 630 | ra_modified(as, dest); |
631 | RA_DBGX((as, "dest $r", dest)); | 631 | RA_DBGX((as, "dest $r", dest)); |