Browse Source

Mark renamed registers as modified.

Mike Pall 15 years ago
parent
commit
d5c8fe4b90
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/lj_asm.c

+ 2 - 1
src/lj_asm.c

@@ -817,7 +817,8 @@ static void ra_rename(ASMState *as, Reg down, Reg up)
   as->cost[down] = 0;
   lua_assert((down < RID_MAX_GPR) == (up < RID_MAX_GPR));
   lua_assert(!rset_test(as->freeset, down) && rset_test(as->freeset, up));
-  rset_set(as->freeset, down);  /* 'down' is free ... */
+  ra_free(as, down);  /* 'down' is free ... */
+  ra_modified(as, down);
   rset_clear(as->freeset, up);  /* ... and 'up' is now allocated. */
   ra_noweak(as, up);
   RA_DBGX((as, "rename    $f $r $r", regcost_ref(as->cost[up]), down, up));