p = c.ctxt.StartUnsafePoint(p, c.newprog)
+ // Spill Arguments. This has to happen before we open
+ // any more frame space.
+ p = c.cursym.Func().SpillRegisterArgs(p, c.newprog)
+
// MOV REGLINK, -8/-16(SP)
p = obj.Appendp(p, c.newprog)
p.As = mov
p.To.Reg = REGSP
p.Spadj = int32(-frameSize)
+ // Unspill arguments
+ p = c.cursym.Func().UnspillRegisterArgs(p, c.newprog)
p = c.ctxt.EndUnsafePoint(p, c.newprog, -1)
}
p = c.ctxt.EmitEntryStackMap(c.cursym, p, c.newprog)
+ // Spill the register args that could be clobbered by the
+ // morestack code
+ p = c.cursym.Func().SpillRegisterArgs(p, c.newprog)
+
// JAL runtime.morestack(SB)
p = obj.Appendp(p, c.newprog)
}
p.Mark |= BRANCH
+ p = c.cursym.Func().UnspillRegisterArgs(p, c.newprog)
p = c.ctxt.EndUnsafePoint(p, c.newprog, -1)
// JMP start