cmd/compile: eliminate some Linksym calls in obj.go

Passes toolstash-check.

Change-Id: I0cb2ea9ca7ec2449999af28457270ff7b3324e92
Reviewed-on: https://go-review.googlesource.com/41410
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 14:51:37 -07:00
parent 3cf72322dc
commit c2b4fb5a3b
1 changed files with 10 additions and 8 deletions

View File

@ -221,9 +221,9 @@ func dumpglobls() {
}
for _, s := range funcsyms {
sf := s.Pkg.Lookup(funcsymname(s))
dsymptr(sf.Linksym(), 0, s.Linksym(), 0)
ggloblsym(sf.Linksym(), int32(Widthptr), obj.DUPOK|obj.RODATA)
sf := s.Pkg.Lookup(funcsymname(s)).Linksym()
dsymptr(sf, 0, s.Linksym(), 0)
ggloblsym(sf, int32(Widthptr), obj.DUPOK|obj.RODATA)
}
// Do not reprocess funcsyms on next dumpglobls call.
@ -324,16 +324,18 @@ func slicebytes(nam *Node, s string, len int) {
sym := localpkg.Lookup(symname)
sym.Def = asTypesNode(newname(sym))
off := dsname(sym.Linksym(), 0, s)
ggloblsym(sym.Linksym(), int32(off), obj.NOPTR|obj.LOCAL)
lsym := sym.Linksym()
off := dsname(lsym, 0, s)
ggloblsym(lsym, int32(off), obj.NOPTR|obj.LOCAL)
if nam.Op != ONAME {
Fatalf("slicebytes %v", nam)
}
nsym := nam.Sym.Linksym()
off = int(nam.Xoffset)
off = dsymptr(nam.Sym.Linksym(), off, sym.Linksym(), 0)
off = duintptr(nam.Sym.Linksym(), off, uint64(len))
duintptr(nam.Sym.Linksym(), off, uint64(len))
off = dsymptr(nsym, off, lsym, 0)
off = duintptr(nsym, off, uint64(len))
duintptr(nsym, off, uint64(len))
}
func dsname(s *obj.LSym, off int, t string) int {