]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.cc] cmd/internal/obj, cmd/new9a: use ctxt.NewProg
authorRuss Cox <rsc@golang.org>
Thu, 22 Jan 2015 02:45:29 +0000 (21:45 -0500)
committerRuss Cox <rsc@golang.org>
Thu, 22 Jan 2015 03:22:04 +0000 (03:22 +0000)
cmd/internal/obj reconverted using rsc.io/c2go rev 40275b8.

All Prog*s need Ctxt field set so that the printer can tell
which architecture the Prog belongs to.
Use ctxt.NewProg consistently for this.

Change-Id: Ic981b3d68f24931ffae74a772e83a3dc2fdf518a
Reviewed-on: https://go-review.googlesource.com/3152
Reviewed-by: Rob Pike <r@golang.org>
src/cmd/internal/obj/arm/asm5.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/i386/obj8.go
src/cmd/internal/obj/ld.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/util.go
src/cmd/internal/obj/x86/obj6.go
src/cmd/new9a/lex.go

index 466e30bc3cccb1bbed4dbfb38303aa4cc4019b67..54155c98f054492293fbd4c1a51d1135a8dd708d 100644 (file)
@@ -463,7 +463,7 @@ func asmoutnacl(ctxt *obj.Link, origPC int32, p *obj.Prog, o *Optab, out []uint3
                        // split it into two instructions:
                        //      ADD $-100004, R13
                        //      MOVW R14, 0(R13)
-                       q = ctxt.Arch.Prg()
+                       q = ctxt.NewProg()
 
                        p.Scond &^= C_WBIT
                        *q = *p
@@ -546,7 +546,7 @@ func asmoutnacl(ctxt *obj.Link, origPC int32, p *obj.Prog, o *Optab, out []uint3
 
                                        ctxt.Diag("unsupported instruction (.P/.W): %v", p)
                                }
-                               q = ctxt.Arch.Prg()
+                               q = ctxt.NewProg()
                                *q = *p
                                if p.To.Type == D_OREG {
                                        a2 = &q.To
@@ -894,7 +894,7 @@ func flushpool(ctxt *obj.Link, p *obj.Prog, skip int, force int) int {
                        if false && skip == 1 {
                                fmt.Printf("note: flush literal pool at %x: len=%d ref=%x\n", uint64(p.Pc+4), pool.size, pool.start)
                        }
-                       q = ctxt.Arch.Prg()
+                       q = ctxt.NewProg()
                        q.As = AB
                        q.To.Type = D_BRANCH
                        q.Pcond = p.Link
@@ -906,7 +906,7 @@ func flushpool(ctxt *obj.Link, p *obj.Prog, skip int, force int) int {
                }
                if ctxt.Headtype == obj.Hnacl && pool.size%16 != 0 {
                        // if pool is not multiple of 16 bytes, add an alignment marker
-                       q = ctxt.Arch.Prg()
+                       q = ctxt.NewProg()
 
                        q.As = ADATABUNDLEEND
                        ctxt.Elitrl.Link = q
@@ -983,7 +983,7 @@ func addpool(ctxt *obj.Link, p *obj.Prog, a *obj.Addr) {
 
        if ctxt.Headtype == obj.Hnacl && pool.size%16 == 0 {
                // start a new data bundle
-               q = ctxt.Arch.Prg()
+               q = ctxt.NewProg()
 
                *q = zprg
                q.As = ADATABUNDLE
@@ -1000,7 +1000,7 @@ func addpool(ctxt *obj.Link, p *obj.Prog, a *obj.Addr) {
                ctxt.Elitrl = q
        }
 
-       q = ctxt.Arch.Prg()
+       q = ctxt.NewProg()
        *q = t
        q.Pc = int64(pool.size)
 
index e8d4a5fc67af2f264cb3aa76f801c4b63d1b5dba..d59c9df0e4f6c8082105bc7928adf46f5fd06cbd 100644 (file)
@@ -219,11 +219,8 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
 }
 
 func prg() *obj.Prog {
-       var p *obj.Prog
-
-       p = new(obj.Prog)
-       *p = zprg5
-       return p
+       p := zprg
+       return &p
 }
 
 // Prog.mark
@@ -789,7 +786,7 @@ func softfloat(ctxt *obj.Link, cursym *obj.LSym) {
 
        soft:
                if !(wasfloat != 0) || (p.Mark&LABEL != 0) {
-                       next = ctxt.Arch.Prg()
+                       next = ctxt.NewProg()
                        *next = *p
 
                        // BL _sfloat(SB)
@@ -954,7 +951,7 @@ func follow(ctxt *obj.Link, s *obj.LSym) {
 
        ctxt.Cursym = s
 
-       firstp = ctxt.Arch.Prg()
+       firstp = ctxt.NewProg()
        lastp = firstp
        xfol(ctxt, s.Text, &lastp)
        lastp.Link = nil
@@ -1048,7 +1045,7 @@ loop:
 
                copy:
                        for {
-                               r = ctxt.Arch.Prg()
+                               r = ctxt.NewProg()
                                *r = *p
                                if !(r.Mark&FOLL != 0) {
                                        fmt.Printf("can't happen 1\n")
@@ -1083,7 +1080,7 @@ loop:
                }
 
                a = AB
-               q = ctxt.Arch.Prg()
+               q = ctxt.NewProg()
                q.As = int16(a)
                q.Lineno = p.Lineno
                q.To.Type = D_BRANCH
index 1cf5510eea1d2d0314aba9e360a9ff366d151bf2..909e8f53c6afdca0280b51f7d1ed7e2c67051740 100644 (file)
@@ -287,11 +287,8 @@ func progedit(ctxt *obj.Link, p *obj.Prog) {
 }
 
 func prg() *obj.Prog {
-       var p *obj.Prog
-
-       p = new(obj.Prog)
-       *p = zprg
-       return p
+       p := zprg
+       return &p
 }
 
 func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
@@ -726,7 +723,7 @@ func follow(ctxt *obj.Link, s *obj.LSym) {
 
        ctxt.Cursym = s
 
-       firstp = ctxt.Arch.Prg()
+       firstp = ctxt.NewProg()
        lastp = firstp
        xfol(ctxt, s.Text, &lastp)
        lastp.Link = nil
@@ -882,7 +879,7 @@ loop:
                                /* */
                        }
                }
-               q = ctxt.Arch.Prg()
+               q = ctxt.NewProg()
                q.As = AJMP
                q.Lineno = p.Lineno
                q.To.Type = D_BRANCH
index a7fb762f71c6d4ad29504f7d06eb6463bc464265..06dee836a1110f9d2bee64212b764c12a69282dd 100644 (file)
@@ -144,7 +144,7 @@ func mkfwd(sym *LSym) {
 func Copyp(ctxt *Link, q *Prog) *Prog {
        var p *Prog
 
-       p = ctxt.Arch.Prg()
+       p = ctxt.NewProg()
        *p = *q
        return p
 }
@@ -152,7 +152,7 @@ func Copyp(ctxt *Link, q *Prog) *Prog {
 func Appendp(ctxt *Link, q *Prog) *Prog {
        var p *Prog
 
-       p = ctxt.Arch.Prg()
+       p = ctxt.NewProg()
        p.Link = q.Link
        q.Link = p
        p.Lineno = q.Lineno
index 26a11484fafa1585bbcb71cee35d9869362cd9d9..f2311f9234676fde6c2c7e200974579af132439a 100644 (file)
@@ -49,7 +49,7 @@ type Addr struct {
        Class   int8
        Etype   uint8
        Offset2 int32
-       Node    *struct{}
+       Node    interface{}
        Width   int64
 }
 
index a98ae61d212a3f6245b035b1b3ce03d6e2817e32..fe3e626b0359ff34b10142a403b19ccb785a8eb3 100644 (file)
@@ -475,14 +475,14 @@ func span9(ctxt *obj.Link, cursym *obj.LSym) {
 
                                otxt = p.Pcond.Pc - c
                                if otxt < -(1<<15)+10 || otxt >= (1<<15)-10 {
-                                       q = ctxt.Arch.Prg()
+                                       q = ctxt.NewProg()
                                        q.Link = p.Link
                                        p.Link = q
                                        q.As = ABR
                                        q.To.Type = D_BRANCH
                                        q.Pcond = p.Pcond
                                        p.Pcond = q
-                                       q = ctxt.Arch.Prg()
+                                       q = ctxt.NewProg()
                                        q.Link = p.Link
                                        p.Link = q
                                        q.As = ABR
index 01fa768df41b02bd542ce5af7bc7d926ac62c2ab..3a25a125c2f69c07276a348304e0004b5a89d441 100644 (file)
@@ -599,7 +599,7 @@ func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
                                p.To.Reg = REGSP
                                p.Spadj = -autosize
 
-                               q = ctxt.Arch.Prg()
+                               q = ctxt.NewProg()
                                q.As = ABR
                                q.Lineno = p.Lineno
                                q.To.Type = D_SPR
@@ -619,7 +619,7 @@ func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
                        p.To.Type = D_REG
                        p.To.Reg = REGTMP
 
-                       q = ctxt.Arch.Prg()
+                       q = ctxt.NewProg()
                        q.As = AMOVD
                        q.Lineno = p.Lineno
                        q.From.Type = D_REG
@@ -633,7 +633,7 @@ func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
 
                        if false {
                                // Debug bad returns
-                               q = ctxt.Arch.Prg()
+                               q = ctxt.NewProg()
 
                                q.As = AMOVD
                                q.Lineno = p.Lineno
@@ -649,7 +649,7 @@ func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
                        }
 
                        if autosize != 0 {
-                               q = ctxt.Arch.Prg()
+                               q = ctxt.NewProg()
                                q.As = AADD
                                q.Lineno = p.Lineno
                                q.From.Type = D_CONST
@@ -662,7 +662,7 @@ func addstacksplit(ctxt *obj.Link, cursym *obj.LSym) {
                                p.Link = q
                        }
 
-                       q1 = ctxt.Arch.Prg()
+                       q1 = ctxt.NewProg()
                        q1.As = ABR
                        q1.Lineno = p.Lineno
                        q1.To.Type = D_SPR
@@ -888,7 +888,7 @@ func follow(ctxt *obj.Link, s *obj.LSym) {
 
        ctxt.Cursym = s
 
-       firstp = ctxt.Arch.Prg()
+       firstp = ctxt.NewProg()
        lastp = firstp
        xfol(ctxt, s.Text, &lastp)
        lastp.Link = nil
@@ -984,7 +984,7 @@ loop:
 
                copy:
                        for {
-                               r = ctxt.Arch.Prg()
+                               r = ctxt.NewProg()
                                *r = *p
                                if !(r.Mark&FOLL != 0) {
                                        fmt.Printf("cant happen 1\n")
@@ -1016,7 +1016,7 @@ loop:
                }
 
                a = ABR
-               q = ctxt.Arch.Prg()
+               q = ctxt.NewProg()
                q.As = int16(a)
                q.Lineno = p.Lineno
                q.To.Type = D_BRANCH
@@ -1053,11 +1053,8 @@ loop:
 }
 
 func prg() *obj.Prog {
-       var p *obj.Prog
-
-       p = new(obj.Prog)
-       *p = zprg
-       return p
+       p := zprg
+       return &p
 }
 
 var Linkppc64 = obj.LinkArch{
index 2fc910a78faa6bc06bab02eeded52e8dfbd96b77..14f2271cb2a931ca45ca61489bd244944927e079 100644 (file)
@@ -117,3 +117,9 @@ func (p *Prog) String() string {
        }
        return p.Ctxt.Arch.Pconv(p)
 }
+
+func (ctxt *Link) NewProg() *Prog {
+       p := ctxt.Arch.Prg() // should be the only call to this; all others should use ctxt.NewProg
+       p.Ctxt = ctxt
+       return p
+}
index aacc2564b989165e8a026e783dbe25edf1f2a7fa..1b7c119c3e58902d3b5694b22d2e6ae01028912b 100644 (file)
@@ -887,7 +887,7 @@ func follow(ctxt *obj.Link, s *obj.LSym) {
 
        ctxt.Cursym = s
 
-       firstp = ctxt.Arch.Prg()
+       firstp = ctxt.NewProg()
        lastp = firstp
        xfol(ctxt, s.Text, &lastp)
        lastp.Link = nil
@@ -1051,7 +1051,7 @@ loop:
                                /* */
                        }
                }
-               q = ctxt.Arch.Prg()
+               q = ctxt.NewProg()
                q.As = AJMP
                q.Lineno = p.Lineno
                q.To.Type = D_BRANCH
@@ -1124,11 +1124,8 @@ loop:
 }
 
 func prg() *obj.Prog {
-       var p *obj.Prog
-
-       p = new(obj.Prog)
-       *p = zprg
-       return p
+       p := zprg
+       return &p
 }
 
 var Linkamd64 = obj.LinkArch{
index 42896ae29987e9fdd7b05a6c7498159ca856aeea..c2c633e38650ad4fff22630e1ed2a884b9cbc2f8 100644 (file)
@@ -498,7 +498,7 @@ func outcode(a int, g1 *obj.Addr, reg int, g2 *obj.Addr) {
                reg = int(g2.Scale)
        }
 
-       p = asm.Ctxt.Arch.Prg()
+       p = asm.Ctxt.NewProg()
        p.As = int16(a)
        p.Lineno = asm.Lineno
        if nosched != 0 {
@@ -531,7 +531,7 @@ func outgcode(a int, g1 *obj.Addr, reg int, g2, g3 *obj.Addr) {
                goto out
        }
 
-       p = asm.Ctxt.Arch.Prg()
+       p = asm.Ctxt.NewProg()
        p.As = int16(a)
        p.Lineno = asm.Lineno
        if nosched != 0 {