cmd/internal/gc: fmt.Sprintf elimination and minor cleanup
Change-Id: Iaf5a7d25e6308b32c17a38afbbd46befa17aa3a4
Reviewed-on: https://go-review.googlesource.com/7629
Reviewed-by: Rob Pike <r@golang.org>
diff --git a/src/cmd/internal/gc/reflect.go b/src/cmd/internal/gc/reflect.go
index 7b7eb63..943b1f56 100644
--- a/src/cmd/internal/gc/reflect.go
+++ b/src/cmd/internal/gc/reflect.go
@@ -477,7 +477,7 @@
dimportpath_gopkg.Name = "go"
}
- nam := fmt.Sprintf("importpath.%s.", p.Prefix)
+ nam := "importpath." + p.Prefix + "."
n := Nod(ONAME, nil, nil)
n.Sym = Pkglookup(nam, dimportpath_gopkg)
@@ -808,7 +808,7 @@
ot = duintptr(s, ot, 0)
}
- p := fmt.Sprintf("%v", Tconv(t, obj.FmtLeft|obj.FmtUnsigned))
+ p := Tconv(t, obj.FmtLeft|obj.FmtUnsigned)
//print("dcommontype: %s\n", p);
ot = dgostringptr(s, ot, p) // string
@@ -825,19 +825,11 @@
}
func typesym(t *Type) *Sym {
- p := fmt.Sprintf("%v", Tconv(t, obj.FmtLeft))
- s := Pkglookup(p, typepkg)
-
- //print("typesym: %s -> %+S\n", p, s);
-
- return s
+ return Pkglookup(Tconv(t, obj.FmtLeft), typepkg)
}
func tracksym(t *Type) *Sym {
- p := fmt.Sprintf("%v.%s", Tconv(t.Outer, obj.FmtLeft), t.Sym.Name)
- s := Pkglookup(p, trackpkg)
-
- return s
+ return Pkglookup(Tconv(t.Outer, obj.FmtLeft)+"."+t.Sym.Name, trackpkg)
}
func typelinksym(t *Type) *Sym {
@@ -849,7 +841,7 @@
// disambiguate. The names are a little long but they are
// discarded by the linker and do not end up in the symbol
// table of the final binary.
- p := fmt.Sprintf("%v/%v", Tconv(t, obj.FmtLeft|obj.FmtUnsigned), Tconv(t, obj.FmtLeft))
+ p := Tconv(t, obj.FmtLeft|obj.FmtUnsigned) + "/" + Tconv(t, obj.FmtLeft)
s := Pkglookup(p, typelinkpkg)
@@ -859,7 +851,7 @@
}
func typesymprefix(prefix string, t *Type) *Sym {
- p := fmt.Sprintf("%s.%v", prefix, Tconv(t, obj.FmtLeft))
+ p := prefix + "." + Tconv(t, obj.FmtLeft)
s := Pkglookup(p, typepkg)
//print("algsym: %s -> %+S\n", p, s);
@@ -900,7 +892,7 @@
}
func weaktypesym(t *Type) *Sym {
- p := fmt.Sprintf("%v", Tconv(t, obj.FmtLeft))
+ p := Tconv(t, obj.FmtLeft)
s := Pkglookup(p, weaktypepkg)
//print("weaktypesym: %s -> %+S\n", p, s);
@@ -962,9 +954,6 @@
}
func dtypesym(t *Type) *Sym {
- var n int
- var t1 *Type
-
// Replace byte, rune aliases with real type.
// They've been separate internally to make error messages
// better, but we have to merge them in the reflect tables.
@@ -1048,16 +1037,16 @@
ot = duintptr(s, ot, uint64(t.Chan))
case TFUNC:
- for t1 = getthisx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getthisx(t).Type; t1 != nil; t1 = t1.Down {
dtypesym(t1.Type)
}
isddd := false
- for t1 = getinargx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getinargx(t).Type; t1 != nil; t1 = t1.Down {
isddd = t1.Isddd
dtypesym(t1.Type)
}
- for t1 = getoutargx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getoutargx(t).Type; t1 != nil; t1 = t1.Down {
dtypesym(t1.Type)
}
@@ -1069,7 +1058,7 @@
ot = int(Rnd(int64(ot), int64(Widthptr)))
ot = dsymptr(s, ot, s, ot+2*(Widthptr+2*Widthint))
- n = t.Thistuple + t.Intuple
+ n := t.Thistuple + t.Intuple
ot = duintxx(s, ot, uint64(n), Widthint)
ot = duintxx(s, ot, uint64(n), Widthint)
ot = dsymptr(s, ot, s, ot+1*(Widthptr+2*Widthint)+n*Widthptr)
@@ -1077,22 +1066,22 @@
ot = duintxx(s, ot, uint64(t.Outtuple), Widthint)
// slice data
- for t1 = getthisx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getthisx(t).Type; t1 != nil; t1 = t1.Down {
ot = dsymptr(s, ot, dtypesym(t1.Type), 0)
n++
}
- for t1 = getinargx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getinargx(t).Type; t1 != nil; t1 = t1.Down {
ot = dsymptr(s, ot, dtypesym(t1.Type), 0)
n++
}
- for t1 = getoutargx(t).Type; t1 != nil; t1 = t1.Down {
+ for t1 := getoutargx(t).Type; t1 != nil; t1 = t1.Down {
ot = dsymptr(s, ot, dtypesym(t1.Type), 0)
n++
}
case TINTER:
m := imethods(t)
- n = 0
+ n := 0
for a := m; a != nil; a = a.link {
dtypesym(a.type_)
n++
@@ -1164,9 +1153,9 @@
// ../../runtime/type.go:/StructType
// for security, only the exported fields.
case TSTRUCT:
- n = 0
+ n := 0
- for t1 = t.Type; t1 != nil; t1 = t1.Down {
+ for t1 := t.Type; t1 != nil; t1 = t1.Down {
dtypesym(t1.Type)
n++
}
@@ -1176,7 +1165,7 @@
ot = dsymptr(s, ot, s, ot+Widthptr+2*Widthint)
ot = duintxx(s, ot, uint64(n), Widthint)
ot = duintxx(s, ot, uint64(n), Widthint)
- for t1 = t.Type; t1 != nil; t1 = t1.Down {
+ for t1 := t.Type; t1 != nil; t1 = t1.Down {
// ../../runtime/type.go:/structField
if t1.Sym != nil && t1.Embedded == 0 {
ot = dgostringptr(s, ot, t1.Sym.Name)
@@ -1479,11 +1468,9 @@
// Emit insArray instruction.
func proggenarray(g *ProgGen, len int64) {
- var i int32
-
proggendataflush(g)
proggenemit(g, obj.InsArray)
- for i = 0; i < int32(Widthptr); i, len = i+1, len>>8 {
+ for i := int32(0); i < int32(Widthptr); i, len = i+1, len>>8 {
proggenemit(g, uint8(len))
}
}