Selaa lähdekoodia

Only fuse with spill slots for cross-section references.

Mike Pall 15 vuotta sitten
vanhempi
commit
44756ded7a
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      src/lj_asm.c

+ 1 - 1
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);
 }