aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm_ppc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_asm_ppc.h')
-rw-r--r--src/lj_asm_ppc.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h
index 5fd35d2e..d7d743a6 100644
--- a/src/lj_asm_ppc.h
+++ b/src/lj_asm_ppc.h
@@ -1915,7 +1915,7 @@ static void asm_head_root_base(ASMState *as)
1915} 1915}
1916 1916
1917/* Coalesce BASE register for a side trace. */ 1917/* Coalesce BASE register for a side trace. */
1918static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow) 1918static Reg asm_head_side_base(ASMState *as, IRIns *irp)
1919{ 1919{
1920 IRIns *ir = IR(REF_BASE); 1920 IRIns *ir = IR(REF_BASE);
1921 Reg r = ir->r; 1921 Reg r = ir->r;
@@ -1924,15 +1924,15 @@ static RegSet asm_head_side_base(ASMState *as, IRIns *irp, RegSet allow)
1924 if (rset_test(as->modset, r) || irt_ismarked(ir->t)) 1924 if (rset_test(as->modset, r) || irt_ismarked(ir->t))
1925 ir->r = RID_INIT; /* No inheritance for modified BASE register. */ 1925 ir->r = RID_INIT; /* No inheritance for modified BASE register. */
1926 if (irp->r == r) { 1926 if (irp->r == r) {
1927 rset_clear(allow, r); /* Mark same BASE register as coalesced. */ 1927 return r; /* Same BASE register already coalesced. */
1928 } else if (ra_hasreg(irp->r) && rset_test(as->freeset, irp->r)) { 1928 } else if (ra_hasreg(irp->r) && rset_test(as->freeset, irp->r)) {
1929 rset_clear(allow, irp->r);
1930 emit_mr(as, r, irp->r); /* Move from coalesced parent reg. */ 1929 emit_mr(as, r, irp->r); /* Move from coalesced parent reg. */
1930 return irp->r;
1931 } else { 1931 } else {
1932 emit_getgl(as, r, jit_base); /* Otherwise reload BASE. */ 1932 emit_getgl(as, r, jit_base); /* Otherwise reload BASE. */
1933 } 1933 }
1934 } 1934 }
1935 return allow; 1935 return RID_NONE;
1936} 1936}
1937 1937
1938/* -- Tail of trace ------------------------------------------------------- */ 1938/* -- Tail of trace ------------------------------------------------------- */