From: Mike Pall Date: Sun, 28 Mar 2010 04:42:48 +0000 (+0200) Subject: Only fuse with spill slots for cross-section references. X-Git-Tag: v2.0.0-beta4~5 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=44756ded7ae7bcf66bd657f5d8084be5ba4fb43f;p=thirdparty%2FLuaJIT.git Only fuse with spill slots for cross-section references. --- 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) } } if (!(as->freeset & allow) && - (allow == RSET_EMPTY || ra_hasspill(ir->s) || ref < as->loopref)) + (allow == RSET_EMPTY || ra_hasspill(ir->s) || iscrossref(as, ref))) goto fusespill; return ra_allocref(as, ref, allow); }