diff options
author | Mike Pall <mike> | 2014-03-06 00:42:38 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2014-03-06 00:42:38 +0100 |
commit | 0e9bf2f60d9261f80e8bf12dd236c5cbe96f1926 (patch) | |
tree | 3a4cf3798b34fcc4b01bc81334664d25752f71a6 | |
parent | 19d53ed2f9f3633c35c5cc5c6492bb19d751e3b1 (diff) | |
parent | 416abff90dae9c66e17efe9d6a01efce63eefba8 (diff) | |
download | luajit-0e9bf2f60d9261f80e8bf12dd236c5cbe96f1926.tar.gz luajit-0e9bf2f60d9261f80e8bf12dd236c5cbe96f1926.tar.bz2 luajit-0e9bf2f60d9261f80e8bf12dd236c5cbe96f1926.zip |
Merge branch 'master' into v2.1
-rw-r--r-- | src/lj_asm.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index a05ec75c..329e5c95 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -1471,16 +1471,18 @@ static void asm_phi_fixup(ASMState *as) | |||
1471 | Reg r = rset_picktop(work); | 1471 | Reg r = rset_picktop(work); |
1472 | IRRef lref = as->phireg[r]; | 1472 | IRRef lref = as->phireg[r]; |
1473 | IRIns *ir = IR(lref); | 1473 | IRIns *ir = IR(lref); |
1474 | /* Left PHI gained a spill slot before the loop? */ | 1474 | if (irt_ismarked(ir->t)) { |
1475 | if (irt_ismarked(ir->t) && ra_hasspill(ir->s)) { | 1475 | irt_clearmark(ir->t); |
1476 | IRRef ren; | 1476 | /* Left PHI gained a spill slot before the loop? */ |
1477 | lj_ir_set(as->J, IRT(IR_RENAME, IRT_NIL), lref, as->loopsnapno); | 1477 | if (ra_hasspill(ir->s)) { |
1478 | ren = tref_ref(lj_ir_emit(as->J)); | 1478 | IRRef ren; |
1479 | as->ir = as->T->ir; /* The IR may have been reallocated. */ | 1479 | lj_ir_set(as->J, IRT(IR_RENAME, IRT_NIL), lref, as->loopsnapno); |
1480 | IR(ren)->r = (uint8_t)r; | 1480 | ren = tref_ref(lj_ir_emit(as->J)); |
1481 | IR(ren)->s = SPS_NONE; | 1481 | as->ir = as->T->ir; /* The IR may have been reallocated. */ |
1482 | IR(ren)->r = (uint8_t)r; | ||
1483 | IR(ren)->s = SPS_NONE; | ||
1484 | } | ||
1482 | } | 1485 | } |
1483 | irt_clearmark(ir->t); /* Always clear marker. */ | ||
1484 | rset_clear(work, r); | 1486 | rset_clear(work, r); |
1485 | } | 1487 | } |
1486 | } | 1488 | } |