p.Reg = arm.REGSP
p = appendpp(p, obj.ADUFFZERO, obj.TYPE_NONE, 0, 0, obj.TYPE_MEM, 0, 0)
f := gc.Sysfunc("duffzero")
- p.To = gc.Naddr(f, 1)
+ p.To = gc.Naddr(f)
gc.Afunclit(&p.To, f)
p.To.Offset = 4 * (128 - cnt/int64(gc.Widthptr))
} else {
var at obj.Addr
if f != nil {
- af = gc.Naddr(f, 1)
+ af = gc.Naddr(f)
}
if t != nil {
- at = gc.Naddr(t, 1)
+ at = gc.Naddr(t)
}
p := gc.Prog(as)
if f != nil {
func raddr(n *gc.Node, p *obj.Prog) {
var a obj.Addr
- a = gc.Naddr(n, 1)
+ a = gc.Naddr(n)
if a.Type != obj.TYPE_REG {
if n != nil {
gc.Fatal("bad in raddr: %v", gc.Oconv(int(n.Op), 0))
reg1 := &clean[cleani-2]
reg.Op = gc.OEMPTY
reg1.Op = gc.OEMPTY
- *a = gc.Naddr(n, 1)
+ *a = gc.Naddr(n)
return true
case gc.ODOT,
n1.Type = n.Type
n1.Xoffset += oary[0]
- *a = gc.Naddr(&n1, 1)
+ *a = gc.Naddr(&n1)
return true
}
a.Type = obj.TYPE_NONE
a.Name = obj.NAME_NONE
n1.Type = n.Type
- *a = gc.Naddr(&n1, 1)
+ *a = gc.Naddr(&n1)
return true
case gc.OINDEX:
var af obj.Addr
if f != nil {
- af = gc.Naddr(f, 1)
+ af = gc.Naddr(f)
}
var at obj.Addr
if t != nil {
- at = gc.Naddr(t, 1)
+ at = gc.Naddr(t)
}
p := gc.Prog(as)
if f != nil {
reg1 := &clean[cleani-2]
reg.Op = gc.OEMPTY
reg1.Op = gc.OEMPTY
- *a = gc.Naddr(n, 1)
+ *a = gc.Naddr(n)
return true
case gc.ODOT,
n1.Type = n.Type
n1.Xoffset += oary[0]
- *a = gc.Naddr(&n1, 1)
+ *a = gc.Naddr(&n1)
return true
}
a.Type = obj.TYPE_NONE
a.Index = obj.TYPE_NONE
fixlargeoffset(&n1)
- *a = gc.Naddr(&n1, 1)
+ *a = gc.Naddr(&n1)
return true
case gc.OINDEX:
var af obj.Addr
var at obj.Addr
if f != nil {
- af = gc.Naddr(f, 1)
+ af = gc.Naddr(f)
}
if t != nil {
- at = gc.Naddr(t, 1)
+ at = gc.Naddr(t)
}
p := gc.Prog(as)
if f != nil {
p.Reg = ppc64.REGSP
p = appendpp(p, obj.ADUFFZERO, obj.TYPE_NONE, 0, 0, obj.TYPE_MEM, 0, 0)
f := gc.Sysfunc("duffzero")
- p.To = gc.Naddr(f, 1)
+ p.To = gc.Naddr(f)
gc.Afunclit(&p.To, f)
p.To.Offset = 4 * (128 - cnt/int64(gc.Widthptr))
} else {
at := obj.Addr(obj.Addr{})
if f != nil {
- af = gc.Naddr(f, 1)
+ af = gc.Naddr(f)
}
if t != nil {
- at = gc.Naddr(t, 1)
+ at = gc.Naddr(t)
}
p := (*obj.Prog)(gc.Prog(as))
if f != nil {
}
}
-func Naddr(n *Node, canemitcode int) (a obj.Addr) {
+func Naddr(n *Node) (a obj.Addr) {
if n == nil {
return
}
a.Offset = n.Xoffset
case OCFUNC:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
a.Sym = Linksym(n.Left.Sym)
case ONAME:
}
case OADDR:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
a.Etype = uint8(Tptr)
if Thearch.Thechar != '5' && Thearch.Thechar != '9' { // TODO(rsc): Do this even for arm, ppc64.
a.Width = int64(Widthptr)
// itable of interface value
case OITAB:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
if a.Type == obj.TYPE_CONST && a.Offset == 0 {
break // itab(nil)
// pointer in a string or slice
case OSPTR:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
if a.Type == obj.TYPE_CONST && a.Offset == 0 {
break // ptr(nil)
// len of string or slice
case OLEN:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
if a.Type == obj.TYPE_CONST && a.Offset == 0 {
break // len(nil)
// cap of string or slice
case OCAP:
- a = Naddr(n.Left, canemitcode)
+ a = Naddr(n.Left)
if a.Type == obj.TYPE_CONST && a.Offset == 0 {
break // cap(nil)
Nodconst(&to, Types[TINT32], int64(index))
pcdata := unlinkedprog(obj.APCDATA)
pcdata.Lineno = prog.Lineno
- pcdata.From = Naddr(&from, 0)
- pcdata.To = Naddr(&to, 0)
+ pcdata.From = Naddr(&from)
+ pcdata.To = Naddr(&to)
return pcdata
}