]> Cypherpunks repositories - gostls13.git/commit
[dev.link] cmd/link: pass reloc by value to Adddynrel2
authorCherry Zhang <cherryyz@google.com>
Thu, 30 Apr 2020 05:32:48 +0000 (01:32 -0400)
committerCherry Zhang <cherryyz@google.com>
Thu, 30 Apr 2020 15:53:43 +0000 (15:53 +0000)
commit516c29a79f6aee3fe8c9109c36a4475efa748dcb
tree5c1f0a1ef44c713d0b3bbeb5607536413bb235cd
parent5aa59c6a99606d914abb170ee3e15342af3727b8
[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>
src/cmd/link/internal/amd64/asm.go
src/cmd/link/internal/arm/asm.go
src/cmd/link/internal/arm64/asm.go
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/ld/xcoff.go
src/cmd/link/internal/ppc64/asm.go
src/cmd/link/internal/s390x/asm.go
src/cmd/link/internal/x86/asm.go