aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-02-23 17:22:12 +0100
committerMike Pall <mike>2010-02-23 17:22:12 +0100
commitd5c8fe4b90c54cbd03924d3eaf04d83dcf2f3cb8 (patch)
tree3db7c36d46daee158e8be4f5ed9e7251018ebe0a /src
parentc1362dcac98bb73ff308e3453279d52e988a555b (diff)
downloadluajit-d5c8fe4b90c54cbd03924d3eaf04d83dcf2f3cb8.tar.gz
luajit-d5c8fe4b90c54cbd03924d3eaf04d83dcf2f3cb8.tar.bz2
luajit-d5c8fe4b90c54cbd03924d3eaf04d83dcf2f3cb8.zip
Mark renamed registers as modified.
Diffstat (limited to 'src')
-rw-r--r--src/lj_asm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 3813a5d7..6c5e4659 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -817,7 +817,8 @@ static void ra_rename(ASMState *as, Reg down, Reg up)
817 as->cost[down] = 0; 817 as->cost[down] = 0;
818 lua_assert((down < RID_MAX_GPR) == (up < RID_MAX_GPR)); 818 lua_assert((down < RID_MAX_GPR) == (up < RID_MAX_GPR));
819 lua_assert(!rset_test(as->freeset, down) && rset_test(as->freeset, up)); 819 lua_assert(!rset_test(as->freeset, down) && rset_test(as->freeset, up));
820 rset_set(as->freeset, down); /* 'down' is free ... */ 820 ra_free(as, down); /* 'down' is free ... */
821 ra_modified(as, down);
821 rset_clear(as->freeset, up); /* ... and 'up' is now allocated. */ 822 rset_clear(as->freeset, up); /* ... and 'up' is now allocated. */
822 ra_noweak(as, up); 823 ra_noweak(as, up);
823 RA_DBGX((as, "rename $f $r $r", regcost_ref(as->cost[up]), down, up)); 824 RA_DBGX((as, "rename $f $r $r", regcost_ref(as->cost[up]), down, up));