diff options
author | Mike Pall <mike> | 2010-01-27 22:09:43 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-01-27 22:09:43 +0100 |
commit | 21d670927112ff6047a9a8f56a864a0c778b1956 (patch) | |
tree | 84e33efed6f6d17ae97d131334dea28f8887a04c /src | |
parent | 09b8f67cd8d181fdb0f4af3b72b6030f5496cb8b (diff) | |
download | luajit-21d670927112ff6047a9a8f56a864a0c778b1956.tar.gz luajit-21d670927112ff6047a9a8f56a864a0c778b1956.tar.bz2 luajit-21d670927112ff6047a9a8f56a864a0c778b1956.zip |
Avoid reuse of PHI registers, even for duplicate right PHIs.
Diffstat (limited to 'src')
-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 48b6ec5a..4f5610b0 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -2655,7 +2655,7 @@ static void asm_phi_fixup(ASMState *as) | |||
2655 | /* Setup right PHI reference. */ | 2655 | /* Setup right PHI reference. */ |
2656 | static void asm_phi(ASMState *as, IRIns *ir) | 2656 | static void asm_phi(ASMState *as, IRIns *ir) |
2657 | { | 2657 | { |
2658 | RegSet allow = irt_isnum(ir->t) ? RSET_FPR : RSET_GPR; | 2658 | RegSet allow = (irt_isnum(ir->t) ? RSET_FPR : RSET_GPR) & ~as->phiset; |
2659 | RegSet afree = (as->freeset & allow); | 2659 | RegSet afree = (as->freeset & allow); |
2660 | IRIns *irl = IR(ir->op1); | 2660 | IRIns *irl = IR(ir->op1); |
2661 | IRIns *irr = IR(ir->op2); | 2661 | IRIns *irr = IR(ir->op2); |