mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.link] cmd/internal/goobj2, cmd/link: change data type for local object/index representation
Use uint32 consistently for local index (this is what the object file uses). Use a index, instead of a pointer, to refer to the object file. This reduces memory usage and GC work. This reduces some allocations. Linking cmd/compile, name old alloc/op new alloc/op delta Loadlib_GC 19.9MB ± 0% 16.9MB ± 0% -15.33% (p=0.008 n=5+5) name old live-B new live-B delta Loadlib_GC 12.6M ± 0% 11.3M ± 0% -9.97% (p=0.008 n=5+5) Change-Id: I20ce60bbb6d31abd2e9e932bdf959e2ae840ab98 Reviewed-on: https://go-review.googlesource.com/c/go/+/233779 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
d72ea427c6
commit
ce36e7f79e
4 changed files with 76 additions and 68 deletions
|
|
@ -19,7 +19,7 @@ import (
|
|||
// do anything interesting with this symbol (such as look at its
|
||||
// data or relocations).
|
||||
func addDummyObjSym(t *testing.T, ldr *Loader, or *oReader, name string) Sym {
|
||||
idx := len(ldr.objSyms)
|
||||
idx := uint32(len(ldr.objSyms))
|
||||
s, ok := ldr.AddSym(name, 0, or, idx, nonPkgDef, false, sym.SRODATA)
|
||||
if !ok {
|
||||
t.Errorf("AddrSym failed for '" + name + "'")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue