diff options
| author | Mike Pall <mike> | 2010-03-28 06:42:48 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2010-03-28 06:42:48 +0200 |
| commit | 44756ded7ae7bcf66bd657f5d8084be5ba4fb43f (patch) | |
| tree | f8e1d4e301205ec74fcade2d191fe1a467091cc7 | |
| parent | 69df01efb20fb7bd91f9a857c78da8d49a01e309 (diff) | |
| download | luajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.tar.gz luajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.tar.bz2 luajit-44756ded7ae7bcf66bd657f5d8084be5ba4fb43f.zip | |
Only fuse with spill slots for cross-section references.
| -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 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 | } |
