aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2010-03-28 06:42:48 +0200
committerMike Pall <mike>2010-03-28 06:42:48 +0200
commit44756ded7ae7bcf66bd657f5d8084be5ba4fb43f (patch)
treef8e1d4e301205ec74fcade2d191fe1a467091cc7 /src
parent69df01efb20fb7bd91f9a857c78da8d49a01e309 (diff)
downloadluajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.tar.gz
luajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.tar.bz2
luajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.zip
Only fuse with spill slots for cross-section references.
Diffstat (limited to 'src')
-rw-r--r--src/lj_asm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 382f2aa0..ba34bff8 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -1307,7 +1307,7 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow)
1307 } 1307 }
1308 } 1308 }
1309 if (!(as->freeset & allow) && 1309 if (!(as->freeset & allow) &&
1310 (allow == RSET_EMPTY || ra_hasspill(ir->s) || ref < as->loopref)) 1310 (allow == RSET_EMPTY || ra_hasspill(ir->s) || iscrossref(as, ref)))
1311 goto fusespill; 1311 goto fusespill;
1312 return ra_allocref(as, ref, allow); 1312 return ra_allocref(as, ref, allow);
1313} 1313}