mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.link] cmd/link: remove extSymPayload.gotype field
We have the information from auxs. Remove the field, slightly reduce memory usage. Change-Id: I3881777cfb40b03d0e2b0e7a326b0738080548b0 Reviewed-on: https://go-review.googlesource.com/c/go/+/233778 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
9c3c8c1b12
commit
1024cabc48
1 changed files with 8 additions and 15 deletions
|
|
@ -322,7 +322,6 @@ type extSymPayload struct {
|
|||
ver int
|
||||
kind sym.SymKind
|
||||
objidx uint32 // index of original object if sym made by cloneToExternal
|
||||
gotype Sym // Gotype (0 if not present)
|
||||
relocs []goobj2.Reloc
|
||||
reltypes []objabi.RelocType // relocation types
|
||||
data []byte
|
||||
|
|
@ -1411,12 +1410,17 @@ func (l *Loader) DynidSyms() []Sym {
|
|||
// results in to a map (might want to try this at some point and see
|
||||
// if it helps speed things up).
|
||||
func (l *Loader) SymGoType(i Sym) Sym {
|
||||
var r *oReader
|
||||
var auxs []goobj2.Aux
|
||||
if l.IsExternal(i) {
|
||||
pp := l.getPayload(i)
|
||||
return pp.gotype
|
||||
r = l.objs[pp.objidx].r
|
||||
auxs = pp.auxs
|
||||
} else {
|
||||
var li int
|
||||
r, li = l.toLocal(i)
|
||||
auxs = r.Auxs(li)
|
||||
}
|
||||
r, li := l.toLocal(i)
|
||||
auxs := r.Auxs(li)
|
||||
for j := range auxs {
|
||||
a := &auxs[j]
|
||||
switch a.Type() {
|
||||
|
|
@ -2580,17 +2584,6 @@ func (l *Loader) cloneToExternal(symIdx Sym) {
|
|||
// Gotype, so as to propagate it to the new symbol.
|
||||
auxs := r.Auxs(li)
|
||||
pp.auxs = auxs
|
||||
loop:
|
||||
for j := range auxs {
|
||||
a := &auxs[j]
|
||||
switch a.Type() {
|
||||
case goobj2.AuxGotype:
|
||||
pp.gotype = l.resolve(r, a.Sym())
|
||||
break loop
|
||||
default:
|
||||
// nothing to do
|
||||
}
|
||||
}
|
||||
|
||||
// Install new payload to global index space.
|
||||
// (This needs to happen at the end, as the accessors above
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue