aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm_mips.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_asm_mips.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lj_asm_mips.h b/src/lj_asm_mips.h
index ac2d2662..e9cce916 100644
--- a/src/lj_asm_mips.h
+++ b/src/lj_asm_mips.h
@@ -2667,7 +2667,7 @@ static void asm_head_root_base(ASMState *as)
2667} 2667}
2668 2668
2669/* Coalesce BASE register for a side trace. */ 2669/* Coalesce BASE register for a side trace. */
2670static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow) 2670static Reg asm_head_side_base(ASMState *as, IRIns *irp)
2671{ 2671{
2672 IRIns *ir = IR(REF_BASE); 2672 IRIns *ir = IR(REF_BASE);
2673 Reg r = ir->r; 2673 Reg r = ir->r;
@@ -2676,15 +2676,15 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
2676 if (rset_test(as->modset, r) || irt_ismarked(ir->t)) 2676 if (rset_test(as->modset, r) || irt_ismarked(ir->t))
2677 ir->r = RID_INIT; /* No inheritance for modified BASE register. */ 2677 ir->r = RID_INIT; /* No inheritance for modified BASE register. */
2678 if (irp->r == r) { 2678 if (irp->r == r) {
2679 rset_clear(allow, r); /* Mark same BASE register as coalesced. */ 2679 return r; /* Same BASE register already coalesced. */
2680 } else if (ra_hasreg(irp->r) && rset_test(as->freeset, irp->r)) { 2680 } else if (ra_hasreg(irp->r) && rset_test(as->freeset, irp->r)) {
2681 rset_clear(allow, irp->r);
2682 emit_move(as, r, irp->r); /* Move from coalesced parent reg. */ 2681 emit_move(as, r, irp->r); /* Move from coalesced parent reg. */
2682 return irp->r;
2683 } else { 2683 } else {
2684 emit_getgl(as, r, jit_base); /* Otherwise reload BASE. */ 2684 emit_getgl(as, r, jit_base); /* Otherwise reload BASE. */
2685 } 2685 }
2686 } 2686 }
2687 return allow; 2687 return RID_NONE;
2688} 2688}
2689 2689
2690/* -- Tail of trace ------------------------------------------------------- */ 2690/* -- Tail of trace ------------------------------------------------------- */