RELEASE LuaJIT-2.0.0-beta2

This commit is contained in:
Mike Pall
2009-12-08 19:49:20 +01:00
parent 55b1695971
commit 1d1fed48a0
46 changed files with 1289 additions and 441 deletions

View File

@@ -738,11 +738,14 @@ static Reg ra_allocref(ASMState *as, IRRef ref, RegSet allow)
}
RA_DBGX((as, "hintmiss $f $r", ref, r));
}
/* Invariants should preferably get unused registers. */
if (ref < as->loopref && !irt_isphi(ir->t))
r = rset_pickbot(pick);
else
/* Invariants should preferably get unmodified registers. */
if (ref < as->loopref && !irt_isphi(ir->t)) {
if ((pick & ~as->modset))
pick &= ~as->modset;
r = rset_pickbot(pick); /* Reduce conflicts with inverse allocation. */
} else {
r = rset_picktop(pick);
}
} else {
r = ra_evict(as, allow);
}