cmd/link: replace interface{} fields with concrete types

The LSym.Section and Section.Elfsect fields were defined as interface{} but
always had the same concrete type (*Section and *ElfShdr respectively) so just
define them with that type. Reduces size of LSym from 328 to 320 bytes and
reduces best-of-10 maxresident size from 246028k to 238036k when linking
libstd.so.

Change-Id: Ie7112c53e4c2c7ce5fe233b81372aa5633f572e8
Reviewed-on: https://go-review.googlesource.com/10410
Reviewed-by: Minux Ma <minux@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Michael Hudson-Doyle 2015-05-27 12:04:25 +12:00 committed by Ian Lance Taylor
parent bc89ad598e
commit cf2736c4c5
10 changed files with 18 additions and 18 deletions

View file

@ -162,7 +162,7 @@ type Section struct {
Length uint64
Next *Section
Seg *Segment
Elfsect interface{}
Elfsect *ElfShdr
Reloff uint64
Rellen uint64
}