1
0
mirror of https://github.com/golang/go synced 2024-11-23 15:00:03 -07:00

cmd/compile: rename dxxx -> dxxxLSym

Follow-up to previous CL.

gorename -from '"cmd/compile/internal/gc".duintxxLSym' -to duintxx
gorename -from '"cmd/compile/internal/gc".duint8LSym' -to duint8
gorename -from '"cmd/compile/internal/gc".duint16LSym' -to duint16
gorename -from '"cmd/compile/internal/gc".duint32LSym' -to duint32
gorename -from '"cmd/compile/internal/gc".duintptrLSym' -to duintptr
gorename -from '"cmd/compile/internal/gc".dbvecLSym' -to dbvec
gorename -from '"cmd/compile/internal/gc".dsnameLSym' -to dsname
gorename -from '"cmd/compile/internal/gc".dsymptrLSym' -to dsymptr
gorename -from '"cmd/compile/internal/gc".dsymptrOffLSym' -to dsymptrOff
gorename -from '"cmd/compile/internal/gc".dsymptrWeakOffLSym' -to dsymptrWeakOff

Passes toolstash-check.

Change-Id: I007f57340f9e8b1468553242556ae25a71167e8c
Reviewed-on: https://go-review.googlesource.com/41397
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Josh Bleecher Snyder 2017-04-21 13:59:51 -07:00
parent 4d600b8e5f
commit a544df33fd
4 changed files with 116 additions and 116 deletions

View File

@ -222,7 +222,7 @@ func dumpglobls() {
for _, s := range funcsyms {
sf := s.Pkg.Lookup(funcsymname(s))
dsymptrLSym(sf.Linksym(), 0, s.Linksym(), 0)
dsymptr(sf.Linksym(), 0, s.Linksym(), 0)
ggloblsym(sf, int32(Widthptr), obj.DUPOK|obj.RODATA)
}
@ -251,7 +251,7 @@ func addGCLocals() {
}
}
func duintxxLSym(s *obj.LSym, off int, v uint64, wid int) int {
func duintxx(s *obj.LSym, off int, v uint64, wid int) int {
if s.Type == 0 {
// TODO(josharian): Do this in obj.prepwrite instead.
s.Type = objabi.SDATA
@ -263,27 +263,27 @@ func duintxxLSym(s *obj.LSym, off int, v uint64, wid int) int {
return off + wid
}
func duint8LSym(s *obj.LSym, off int, v uint8) int {
return duintxxLSym(s, off, uint64(v), 1)
func duint8(s *obj.LSym, off int, v uint8) int {
return duintxx(s, off, uint64(v), 1)
}
func duint16LSym(s *obj.LSym, off int, v uint16) int {
return duintxxLSym(s, off, uint64(v), 2)
func duint16(s *obj.LSym, off int, v uint16) int {
return duintxx(s, off, uint64(v), 2)
}
func duint32LSym(s *obj.LSym, off int, v uint32) int {
return duintxxLSym(s, off, uint64(v), 4)
func duint32(s *obj.LSym, off int, v uint32) int {
return duintxx(s, off, uint64(v), 4)
}
func duintptrLSym(s *obj.LSym, off int, v uint64) int {
return duintxxLSym(s, off, v, Widthptr)
func duintptr(s *obj.LSym, off int, v uint64) int {
return duintxx(s, off, v, Widthptr)
}
func dbvecLSym(s *obj.LSym, off int, bv bvec) int {
func dbvec(s *obj.LSym, off int, bv bvec) int {
// Runtime reads the bitmaps as byte arrays. Oblige.
for j := 0; int32(j) < bv.n; j += 8 {
word := bv.b[j/32]
off = duint8LSym(s, off, uint8(word>>(uint(j)%32)))
off = duint8(s, off, uint8(word>>(uint(j)%32)))
}
return off
}
@ -309,7 +309,7 @@ func stringsym(s string) (data *obj.LSym) {
if !symdata.SeenGlobl() {
// string data
off := dsnameLSym(symdata, 0, s)
off := dsname(symdata, 0, s)
ggloblLSym(symdata, int32(off), obj.DUPOK|obj.RODATA|obj.LOCAL)
}
@ -324,37 +324,37 @@ func slicebytes(nam *Node, s string, len int) {
sym := localpkg.Lookup(symname)
sym.Def = asTypesNode(newname(sym))
off := dsnameLSym(sym.Linksym(), 0, s)
off := dsname(sym.Linksym(), 0, s)
ggloblsym(sym, int32(off), obj.NOPTR|obj.LOCAL)
if nam.Op != ONAME {
Fatalf("slicebytes %v", nam)
}
off = int(nam.Xoffset)
off = dsymptrLSym(nam.Sym.Linksym(), off, sym.Linksym(), 0)
off = duintxxLSym(nam.Sym.Linksym(), off, uint64(len), Widthint)
duintxxLSym(nam.Sym.Linksym(), off, uint64(len), Widthint)
off = dsymptr(nam.Sym.Linksym(), off, sym.Linksym(), 0)
off = duintxx(nam.Sym.Linksym(), off, uint64(len), Widthint)
duintxx(nam.Sym.Linksym(), off, uint64(len), Widthint)
}
func dsnameLSym(s *obj.LSym, off int, t string) int {
func dsname(s *obj.LSym, off int, t string) int {
s.WriteString(Ctxt, int64(off), len(t), t)
return off + len(t)
}
func dsymptrLSym(s *obj.LSym, off int, x *obj.LSym, xoff int) int {
func dsymptr(s *obj.LSym, off int, x *obj.LSym, xoff int) int {
off = int(Rnd(int64(off), int64(Widthptr)))
s.WriteAddr(Ctxt, int64(off), Widthptr, x, int64(xoff))
off += Widthptr
return off
}
func dsymptrOffLSym(s *obj.LSym, off int, x *obj.LSym, xoff int) int {
func dsymptrOff(s *obj.LSym, off int, x *obj.LSym, xoff int) int {
s.WriteOff(Ctxt, int64(off), x, int64(xoff))
off += 4
return off
}
func dsymptrWeakOffLSym(s *obj.LSym, off int, x *obj.LSym) int {
func dsymptrWeakOff(s *obj.LSym, off int, x *obj.LSym) int {
s.WriteWeakOff(Ctxt, int64(off), x, 0)
off += 4
return off

View File

@ -31,8 +31,8 @@ func emitptrargsmap() {
if Curfn.Type.Results().NumFields() > 0 {
nbitmap = 2
}
off := duint32LSym(lsym, 0, uint32(nbitmap))
off = duint32LSym(lsym, off, uint32(bv.n))
off := duint32(lsym, 0, uint32(nbitmap))
off = duint32(lsym, off, uint32(bv.n))
var xoffset int64
if Curfn.IsMethod() {
xoffset = 0
@ -44,11 +44,11 @@ func emitptrargsmap() {
onebitwalktype1(Curfn.Type.Params(), &xoffset, bv)
}
off = dbvecLSym(lsym, off, bv)
off = dbvec(lsym, off, bv)
if Curfn.Type.Results().NumFields() > 0 {
xoffset = 0
onebitwalktype1(Curfn.Type.Results(), &xoffset, bv)
off = dbvecLSym(lsym, off, bv)
off = dbvec(lsym, off, bv)
}
ggloblLSym(lsym, int32(off), obj.RODATA|obj.LOCAL)

View File

@ -1276,12 +1276,12 @@ func livenessprintdebug(lv *Liveness) {
// remaining bytes are the raw bitmaps.
func livenessemit(lv *Liveness, argssym, livesym *obj.LSym) {
args := bvalloc(argswords(lv))
aoff := duint32LSym(argssym, 0, uint32(len(lv.livevars))) // number of bitmaps
aoff = duint32LSym(argssym, aoff, uint32(args.n)) // number of bits in each bitmap
aoff := duint32(argssym, 0, uint32(len(lv.livevars))) // number of bitmaps
aoff = duint32(argssym, aoff, uint32(args.n)) // number of bits in each bitmap
locals := bvalloc(localswords(lv))
loff := duint32LSym(livesym, 0, uint32(len(lv.livevars))) // number of bitmaps
loff = duint32LSym(livesym, loff, uint32(locals.n)) // number of bits in each bitmap
loff := duint32(livesym, 0, uint32(len(lv.livevars))) // number of bitmaps
loff = duint32(livesym, loff, uint32(locals.n)) // number of bits in each bitmap
for _, live := range lv.livevars {
args.Clear()
@ -1289,8 +1289,8 @@ func livenessemit(lv *Liveness, argssym, livesym *obj.LSym) {
onebitlivepointermap(lv, live, lv.vars, args, locals)
aoff = dbvecLSym(argssym, aoff, args)
loff = dbvecLSym(livesym, loff, locals)
aoff = dbvec(argssym, aoff, args)
loff = dbvec(livesym, loff, locals)
}
// Give these LSyms content-addressable names,

View File

@ -459,7 +459,7 @@ func dgopkgpath(s *types.Sym, ot int, pkg *types.Pkg) int {
func dgopkgpathLSym(s *obj.LSym, ot int, pkg *types.Pkg) int {
if pkg == nil {
return duintxxLSym(s, ot, 0, Widthptr)
return duintxx(s, ot, 0, Widthptr)
}
if pkg == localpkg && myimportpath == "" {
@ -469,17 +469,17 @@ func dgopkgpathLSym(s *obj.LSym, ot int, pkg *types.Pkg) int {
// Every package that imports this one directly defines the symbol.
// See also https://groups.google.com/forum/#!topic/golang-dev/myb9s53HxGQ.
ns := Ctxt.Lookup(`type..importpath."".`)
return dsymptrLSym(s, ot, ns, 0)
return dsymptr(s, ot, ns, 0)
}
dimportpath(pkg)
return dsymptrLSym(s, ot, pkg.Pathsym, 0)
return dsymptr(s, ot, pkg.Pathsym, 0)
}
// dgopkgpathOffLSym writes an offset relocation in s at offset ot to the pkg path symbol.
func dgopkgpathOffLSym(s *obj.LSym, ot int, pkg *types.Pkg) int {
if pkg == nil {
return duintxxLSym(s, ot, 0, 4)
return duintxx(s, ot, 0, 4)
}
if pkg == localpkg && myimportpath == "" {
// If we don't know the full import path of the package being compiled
@ -488,11 +488,11 @@ func dgopkgpathOffLSym(s *obj.LSym, ot int, pkg *types.Pkg) int {
// Every package that imports this one directly defines the symbol.
// See also https://groups.google.com/forum/#!topic/golang-dev/myb9s53HxGQ.
ns := Ctxt.Lookup(`type..importpath."".`)
return dsymptrOffLSym(s, ot, ns, 0)
return dsymptrOff(s, ot, ns, 0)
}
dimportpath(pkg)
return dsymptrOffLSym(s, ot, pkg.Pathsym, 0)
return dsymptrOff(s, ot, pkg.Pathsym, 0)
}
// isExportedField reports whether a struct field is exported.
@ -521,7 +521,7 @@ func dnameField(s *types.Sym, ot int, spkg *types.Pkg, ft *types.Field) int {
fpkg = nil
}
nsym := dname(name, ft.Note, fpkg, isExported)
return dsymptrLSym(s.Linksym(), ot, nsym, 0)
return dsymptr(s.Linksym(), ot, nsym, 0)
}
// dnameData writes the contents of a reflect.name into s at offset ot.
@ -628,10 +628,10 @@ func dextratype(s *types.Sym, ot int, t *types.Type, dataAdd int) int {
Fatalf("methods are too far away on %v: %d", t, dataAdd)
}
ot = duint16LSym(s.Linksym(), ot, uint16(mcount))
ot = duint16LSym(s.Linksym(), ot, 0)
ot = duint32LSym(s.Linksym(), ot, uint32(dataAdd))
ot = duint32LSym(s.Linksym(), ot, 0)
ot = duint16(s.Linksym(), ot, uint16(mcount))
ot = duint16(s.Linksym(), ot, 0)
ot = duint32(s.Linksym(), ot, uint32(dataAdd))
ot = duint32(s.Linksym(), ot, 0)
return ot
}
@ -664,7 +664,7 @@ func dextratypeData(s *types.Sym, ot int, t *types.Type) int {
}
nsym := dname(a.name, "", pkg, exported)
ot = dsymptrOffLSym(lsym, ot, nsym, 0)
ot = dsymptrOff(lsym, ot, nsym, 0)
ot = dmethodptrOffLSym(lsym, ot, dtypesym(a.mtype).Linksym())
ot = dmethodptrOffLSym(lsym, ot, a.isym.Linksym())
ot = dmethodptrOffLSym(lsym, ot, a.tsym.Linksym())
@ -673,7 +673,7 @@ func dextratypeData(s *types.Sym, ot int, t *types.Type) int {
}
func dmethodptrOffLSym(s *obj.LSym, ot int, x *obj.LSym) int {
duintxxLSym(s, ot, 0, 4)
duintxx(s, ot, 0, 4)
r := obj.Addrel(s)
r.Off = int32(ot)
r.Siz = 4
@ -820,10 +820,10 @@ func dcommontype(s *types.Sym, ot int, t *types.Type) int {
// str nameOff
// ptrToThis typeOff
// }
ot = duintptrLSym(s.Linksym(), ot, uint64(t.Width))
ot = duintptrLSym(s.Linksym(), ot, uint64(ptrdata))
ot = duintptr(s.Linksym(), ot, uint64(t.Width))
ot = duintptr(s.Linksym(), ot, uint64(ptrdata))
ot = duint32LSym(s.Linksym(), ot, typehash(t))
ot = duint32(s.Linksym(), ot, typehash(t))
var tflag uint8
if uncommonSize(t) != 0 {
@ -852,7 +852,7 @@ func dcommontype(s *types.Sym, ot int, t *types.Type) int {
}
}
ot = duint8LSym(s.Linksym(), ot, tflag)
ot = duint8(s.Linksym(), ot, tflag)
// runtime (and common sense) expects alignment to be a power of two.
i := int(t.Align)
@ -863,8 +863,8 @@ func dcommontype(s *types.Sym, ot int, t *types.Type) int {
if i&(i-1) != 0 {
Fatalf("invalid alignment %d for %v", t.Align, t)
}
ot = duint8LSym(s.Linksym(), ot, t.Align) // align
ot = duint8LSym(s.Linksym(), ot, t.Align) // fieldAlign
ot = duint8(s.Linksym(), ot, t.Align) // align
ot = duint8(s.Linksym(), ot, t.Align) // fieldAlign
i = kinds[t.Etype]
if !types.Haspointers(t) {
@ -876,23 +876,23 @@ func dcommontype(s *types.Sym, ot int, t *types.Type) int {
if useGCProg {
i |= objabi.KindGCProg
}
ot = duint8LSym(s.Linksym(), ot, uint8(i)) // kind
ot = duint8(s.Linksym(), ot, uint8(i)) // kind
if algsym == nil {
ot = dsymptrLSym(s.Linksym(), ot, dcommontype_algarray.Linksym(), int(alg)*sizeofAlg)
ot = dsymptr(s.Linksym(), ot, dcommontype_algarray.Linksym(), int(alg)*sizeofAlg)
} else {
ot = dsymptrLSym(s.Linksym(), ot, algsym.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, algsym.Linksym(), 0)
}
ot = dsymptrLSym(s.Linksym(), ot, gcsym.Linksym(), 0) // gcdata
ot = dsymptr(s.Linksym(), ot, gcsym.Linksym(), 0) // gcdata
nsym := dname(p, "", nil, exported)
ot = dsymptrOffLSym(s.Linksym(), ot, nsym, 0) // str
ot = dsymptrOff(s.Linksym(), ot, nsym, 0) // str
// ptrToThis
if sptr == nil {
ot = duint32LSym(s.Linksym(), ot, 0)
ot = duint32(s.Linksym(), ot, 0)
} else if sptrWeak {
ot = dsymptrWeakOffLSym(s.Linksym(), ot, sptr.Linksym())
ot = dsymptrWeakOff(s.Linksym(), ot, sptr.Linksym())
} else {
ot = dsymptrOffLSym(s.Linksym(), ot, sptr.Linksym(), 0)
ot = dsymptrOff(s.Linksym(), ot, sptr.Linksym(), 0)
}
return ot
@ -1128,24 +1128,24 @@ ok:
t2 := types.NewSlice(t.Elem())
s2 := dtypesym(t2)
ot = dcommontype(s, ot, t)
ot = dsymptrLSym(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptrLSym(s.Linksym(), ot, s2.Linksym(), 0)
ot = duintptrLSym(s.Linksym(), ot, uint64(t.NumElem()))
ot = dsymptr(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s2.Linksym(), 0)
ot = duintptr(s.Linksym(), ot, uint64(t.NumElem()))
ot = dextratype(s, ot, t, 0)
case TSLICE:
// ../../../../runtime/type.go:/sliceType
s1 := dtypesym(t.Elem())
ot = dcommontype(s, ot, t)
ot = dsymptrLSym(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s1.Linksym(), 0)
ot = dextratype(s, ot, t, 0)
case TCHAN:
// ../../../../runtime/type.go:/chanType
s1 := dtypesym(t.Elem())
ot = dcommontype(s, ot, t)
ot = dsymptrLSym(s.Linksym(), ot, s1.Linksym(), 0)
ot = duintptrLSym(s.Linksym(), ot, uint64(t.ChanDir()))
ot = dsymptr(s.Linksym(), ot, s1.Linksym(), 0)
ot = duintptr(s.Linksym(), ot, uint64(t.ChanDir()))
ot = dextratype(s, ot, t, 0)
case TFUNC:
@ -1167,8 +1167,8 @@ ok:
if isddd {
outCount |= 1 << 15
}
ot = duint16LSym(s.Linksym(), ot, uint16(inCount))
ot = duint16LSym(s.Linksym(), ot, uint16(outCount))
ot = duint16(s.Linksym(), ot, uint16(inCount))
ot = duint16(s.Linksym(), ot, uint16(outCount))
if Widthptr == 8 {
ot += 4 // align for *rtype
}
@ -1178,13 +1178,13 @@ ok:
// Array of rtype pointers follows funcType.
for _, t1 := range t.Recvs().Fields().Slice() {
ot = dsymptrLSym(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
}
for _, t1 := range t.Params().Fields().Slice() {
ot = dsymptrLSym(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
}
for _, t1 := range t.Results().Fields().Slice() {
ot = dsymptrLSym(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, dtypesym(t1.Type).Linksym(), 0)
}
case TINTER:
@ -1203,9 +1203,9 @@ ok:
}
ot = dgopkgpath(s, ot, tpkg)
ot = dsymptrLSym(s.Linksym(), ot, s.Linksym(), ot+Widthptr+2*Widthint+uncommonSize(t))
ot = duintxxLSym(s.Linksym(), ot, uint64(n), Widthint)
ot = duintxxLSym(s.Linksym(), ot, uint64(n), Widthint)
ot = dsymptr(s.Linksym(), ot, s.Linksym(), ot+Widthptr+2*Widthint+uncommonSize(t))
ot = duintxx(s.Linksym(), ot, uint64(n), Widthint)
ot = duintxx(s.Linksym(), ot, uint64(n), Widthint)
dataAdd := imethodSize() * n
ot = dextratype(s, ot, t, dataAdd)
@ -1219,8 +1219,8 @@ ok:
}
nsym := dname(a.name, "", pkg, exported)
ot = dsymptrOffLSym(lsym, ot, nsym, 0)
ot = dsymptrOffLSym(lsym, ot, dtypesym(a.type_).Linksym(), 0)
ot = dsymptrOff(lsym, ot, nsym, 0)
ot = dsymptrOff(lsym, ot, dtypesym(a.type_).Linksym(), 0)
}
// ../../../../runtime/type.go:/mapType
@ -1230,29 +1230,29 @@ ok:
s3 := dtypesym(mapbucket(t))
s4 := dtypesym(hmap(t))
ot = dcommontype(s, ot, t)
ot = dsymptrLSym(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptrLSym(s.Linksym(), ot, s2.Linksym(), 0)
ot = dsymptrLSym(s.Linksym(), ot, s3.Linksym(), 0)
ot = dsymptrLSym(s.Linksym(), ot, s4.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s2.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s3.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s4.Linksym(), 0)
if t.Key().Width > MAXKEYSIZE {
ot = duint8LSym(s.Linksym(), ot, uint8(Widthptr))
ot = duint8LSym(s.Linksym(), ot, 1) // indirect
ot = duint8(s.Linksym(), ot, uint8(Widthptr))
ot = duint8(s.Linksym(), ot, 1) // indirect
} else {
ot = duint8LSym(s.Linksym(), ot, uint8(t.Key().Width))
ot = duint8LSym(s.Linksym(), ot, 0) // not indirect
ot = duint8(s.Linksym(), ot, uint8(t.Key().Width))
ot = duint8(s.Linksym(), ot, 0) // not indirect
}
if t.Val().Width > MAXVALSIZE {
ot = duint8LSym(s.Linksym(), ot, uint8(Widthptr))
ot = duint8LSym(s.Linksym(), ot, 1) // indirect
ot = duint8(s.Linksym(), ot, uint8(Widthptr))
ot = duint8(s.Linksym(), ot, 1) // indirect
} else {
ot = duint8LSym(s.Linksym(), ot, uint8(t.Val().Width))
ot = duint8LSym(s.Linksym(), ot, 0) // not indirect
ot = duint8(s.Linksym(), ot, uint8(t.Val().Width))
ot = duint8(s.Linksym(), ot, 0) // not indirect
}
ot = duint16LSym(s.Linksym(), ot, uint16(mapbucket(t).Width))
ot = duint8LSym(s.Linksym(), ot, uint8(obj.Bool2int(isreflexive(t.Key()))))
ot = duint8LSym(s.Linksym(), ot, uint8(obj.Bool2int(needkeyupdate(t.Key()))))
ot = duint16(s.Linksym(), ot, uint16(mapbucket(t).Width))
ot = duint8(s.Linksym(), ot, uint8(obj.Bool2int(isreflexive(t.Key()))))
ot = duint8(s.Linksym(), ot, uint8(obj.Bool2int(needkeyupdate(t.Key()))))
ot = dextratype(s, ot, t, 0)
case TPTR32, TPTR64:
@ -1268,7 +1268,7 @@ ok:
s1 := dtypesym(t.Elem())
ot = dcommontype(s, ot, t)
ot = dsymptrLSym(s.Linksym(), ot, s1.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, s1.Linksym(), 0)
ot = dextratype(s, ot, t, 0)
// ../../../../runtime/type.go:/structType
@ -1296,9 +1296,9 @@ ok:
}
}
ot = dgopkgpath(s, ot, pkg)
ot = dsymptrLSym(s.Linksym(), ot, s.Linksym(), ot+Widthptr+2*Widthint+uncommonSize(t))
ot = duintxxLSym(s.Linksym(), ot, uint64(n), Widthint)
ot = duintxxLSym(s.Linksym(), ot, uint64(n), Widthint)
ot = dsymptr(s.Linksym(), ot, s.Linksym(), ot+Widthptr+2*Widthint+uncommonSize(t))
ot = duintxx(s.Linksym(), ot, uint64(n), Widthint)
ot = duintxx(s.Linksym(), ot, uint64(n), Widthint)
dataAdd := n * structfieldSize()
ot = dextratype(s, ot, t, dataAdd)
@ -1306,7 +1306,7 @@ ok:
for _, f := range t.Fields().Slice() {
// ../../../../runtime/type.go:/structField
ot = dnameField(s, ot, pkg, f)
ot = dsymptrLSym(s.Linksym(), ot, dtypesym(f.Type).Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, dtypesym(f.Type).Linksym(), 0)
offsetAnon := uint64(f.Offset) << 1
if offsetAnon>>1 != uint64(f.Offset) {
Fatalf("%v: bad field offset for %s", t, f.Sym.Name)
@ -1314,7 +1314,7 @@ ok:
if f.Embedded != 0 {
offsetAnon |= 1
}
ot = duintptrLSym(s.Linksym(), ot, offsetAnon)
ot = duintptr(s.Linksym(), ot, offsetAnon)
}
}
@ -1461,18 +1461,18 @@ func dumptypestructs() {
// unused [2]byte
// fun [1]uintptr // variable sized
// }
o := dsymptrLSym(i.sym.Linksym(), 0, dtypesym(i.itype).Linksym(), 0)
o = dsymptrLSym(i.sym.Linksym(), o, dtypesym(i.t).Linksym(), 0)
o += Widthptr // skip link field
o = duint32LSym(i.sym.Linksym(), o, typehash(i.t)) // copy of type hash
o += 4 // skip bad/inhash/unused fields
o += len(imethods(i.itype)) * Widthptr // skip fun method pointers
o := dsymptr(i.sym.Linksym(), 0, dtypesym(i.itype).Linksym(), 0)
o = dsymptr(i.sym.Linksym(), o, dtypesym(i.t).Linksym(), 0)
o += Widthptr // skip link field
o = duint32(i.sym.Linksym(), o, typehash(i.t)) // copy of type hash
o += 4 // skip bad/inhash/unused fields
o += len(imethods(i.itype)) * Widthptr // skip fun method pointers
// at runtime the itab will contain pointers to types, other itabs and
// method functions. None are allocated on heap, so we can use obj.NOPTR.
ggloblsym(i.sym, int32(o), int16(obj.DUPOK|obj.NOPTR))
ilink := itablinkpkg.Lookup(i.t.ShortString() + "," + i.itype.ShortString())
dsymptrLSym(ilink.Linksym(), 0, i.sym.Linksym(), 0)
dsymptr(ilink.Linksym(), 0, i.sym.Linksym(), 0)
ggloblsym(ilink, int32(Widthptr), int16(obj.DUPOK|obj.RODATA))
}
@ -1488,15 +1488,15 @@ func dumptypestructs() {
// typ typeOff // pointer to symbol
// }
nsym := dname(p.s.Name, "", nil, true)
ot = dsymptrOffLSym(s, ot, nsym, 0)
ot = dsymptrOffLSym(s, ot, dtypesym(p.t).Linksym(), 0)
ot = dsymptrOff(s, ot, nsym, 0)
ot = dsymptrOff(s, ot, dtypesym(p.t).Linksym(), 0)
}
ggloblLSym(s, int32(ot), int16(obj.RODATA))
ot = 0
s = Ctxt.Lookup("go.plugin.exports")
for _, p := range ptabs {
ot = dsymptrLSym(s, ot, p.s.Linksym(), 0)
ot = dsymptr(s, ot, p.s.Linksym(), 0)
}
ggloblLSym(s, int32(ot), int16(obj.RODATA))
}
@ -1574,8 +1574,8 @@ func dalgsym(t *types.Type) *types.Sym {
hashfunc = types.TypePkgLookup(p)
ot := 0
ot = dsymptrLSym(hashfunc.Linksym(), ot, Runtimepkg.Lookup("memhash_varlen").Linksym(), 0)
ot = duintxxLSym(hashfunc.Linksym(), ot, uint64(t.Width), Widthptr) // size encoded in closure
ot = dsymptr(hashfunc.Linksym(), ot, Runtimepkg.Lookup("memhash_varlen").Linksym(), 0)
ot = duintxx(hashfunc.Linksym(), ot, uint64(t.Width), Widthptr) // size encoded in closure
ggloblsym(hashfunc, int32(ot), obj.DUPOK|obj.RODATA)
// make equality closure
@ -1584,8 +1584,8 @@ func dalgsym(t *types.Type) *types.Sym {
eqfunc = types.TypePkgLookup(p)
ot = 0
ot = dsymptrLSym(eqfunc.Linksym(), ot, Runtimepkg.Lookup("memequal_varlen").Linksym(), 0)
ot = duintxxLSym(eqfunc.Linksym(), ot, uint64(t.Width), Widthptr)
ot = dsymptr(eqfunc.Linksym(), ot, Runtimepkg.Lookup("memequal_varlen").Linksym(), 0)
ot = duintxx(eqfunc.Linksym(), ot, uint64(t.Width), Widthptr)
ggloblsym(eqfunc, int32(ot), obj.DUPOK|obj.RODATA)
} else {
// generate an alg table specific to this type
@ -1600,18 +1600,18 @@ func dalgsym(t *types.Type) *types.Sym {
geneq(eq, t)
// make Go funcs (closures) for calling hash and equal from Go
dsymptrLSym(hashfunc.Linksym(), 0, hash.Linksym(), 0)
dsymptr(hashfunc.Linksym(), 0, hash.Linksym(), 0)
ggloblsym(hashfunc, int32(Widthptr), obj.DUPOK|obj.RODATA)
dsymptrLSym(eqfunc.Linksym(), 0, eq.Linksym(), 0)
dsymptr(eqfunc.Linksym(), 0, eq.Linksym(), 0)
ggloblsym(eqfunc, int32(Widthptr), obj.DUPOK|obj.RODATA)
}
// ../../../../runtime/alg.go:/typeAlg
ot := 0
ot = dsymptrLSym(s.Linksym(), ot, hashfunc.Linksym(), 0)
ot = dsymptrLSym(s.Linksym(), ot, eqfunc.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, hashfunc.Linksym(), 0)
ot = dsymptr(s.Linksym(), ot, eqfunc.Linksym(), 0)
ggloblsym(s, int32(ot), obj.DUPOK|obj.RODATA)
return s
}
@ -1675,7 +1675,7 @@ func dgcptrmask(t *types.Type) *types.Sym {
if !sym.Uniq() {
sym.SetUniq(true)
for i, x := range ptrmask {
duint8LSym(sym.Linksym(), i, x)
duint8(sym.Linksym(), i, x)
}
ggloblsym(sym, int32(len(ptrmask)), obj.DUPOK|obj.RODATA|obj.LOCAL)
}
@ -1745,12 +1745,12 @@ func (p *GCProg) init(sym *types.Sym) {
}
func (p *GCProg) writeByte(x byte) {
p.symoff = duint8LSym(p.sym.Linksym(), p.symoff, x)
p.symoff = duint8(p.sym.Linksym(), p.symoff, x)
}
func (p *GCProg) end() {
p.w.End()
duint32LSym(p.sym.Linksym(), 0, uint32(p.symoff-4))
duint32(p.sym.Linksym(), 0, uint32(p.symoff-4))
ggloblsym(p.sym, int32(p.symoff), obj.DUPOK|obj.RODATA|obj.LOCAL)
if Debug_gcprog > 0 {
fmt.Fprintf(os.Stderr, "compile: end GCProg for %v\n", p.sym)