diff options
author | Cherry Zhang <cherryyz@google.com> | 2020-04-30 01:32:48 -0400 |
---|---|---|
committer | Cherry Zhang <cherryyz@google.com> | 2020-04-30 15:53:43 +0000 |
commit | 516c29a79f6aee3fe8c9109c36a4475efa748dcb (patch) | |
tree | 5c1f0a1ef44c713d0b3bbeb5607536413bb235cd /src/cmd/link/internal/ld/lib.go | |
parent | 5aa59c6a99606d914abb170ee3e15342af3727b8 (diff) | |
download | go-516c29a79f6aee3fe8c9109c36a4475efa748dcb.tar.gz go-516c29a79f6aee3fe8c9109c36a4475efa748dcb.zip |
[dev.link] cmd/link: pass reloc by value to Adddynrel2
Adddynrel2 is a function pointer. In dynrelocsym we pass &r to
it, which will cause r to escape. Pass it by value instead.
Linking cmd/compile,
name old alloc/op new alloc/op delta
Dodata_GC 15.8MB ± 0% 5.9MB ± 0% -62.55% (p=0.008 n=5+5)
Change-Id: Ib86005d1026ebaca57777b27ead037e613585f44
Reviewed-on: https://go-review.googlesource.com/c/go/+/231045
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Jeremy Faller <jeremy@golang.org>
Diffstat (limited to 'src/cmd/link/internal/ld/lib.go')
-rw-r--r-- | src/cmd/link/internal/ld/lib.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go index 9a87cbef33..a328efd03b 100644 --- a/src/cmd/link/internal/ld/lib.go +++ b/src/cmd/link/internal/ld/lib.go @@ -233,7 +233,7 @@ type Arch struct { Dragonflydynld string Solarisdynld string Adddynrel func(*Target, *loader.Loader, *ArchSyms, *sym.Symbol, *sym.Reloc) bool - Adddynrel2 func(*Target, *loader.Loader, *ArchSyms, loader.Sym, *loader.Reloc2, int) bool + Adddynrel2 func(*Target, *loader.Loader, *ArchSyms, loader.Sym, loader.Reloc2, int) bool Archinit func(*Link) // Archreloc is an arch-specific hook that assists in relocation processing // (invoked by 'relocsym'); it handles target-specific relocation tasks. |