]> Cypherpunks repositories - gostls13.git/commit
[dev.link] cmd/link: directly use loader.ExtReloc in ELF relocation generation
authorCherry Zhang <cherryyz@google.com>
Fri, 1 May 2020 01:15:54 +0000 (21:15 -0400)
committerCherry Zhang <cherryyz@google.com>
Fri, 1 May 2020 14:13:16 +0000 (14:13 +0000)
commit1667b35740bd6974082cba6b48b4ea1881e29088
tree0ee148ac69a00db8d246d11779a31f7e47a04a83
parent7aa6e0faf20d48956eaeead4a71992dd53306c19
[dev.link] cmd/link: directly use loader.ExtReloc in ELF relocation generation

Convert the part that uses relocations to use loader.ExtReloc
directly. It still uses sym.Symbols for now, but not sym.Relocs.

This reduces some memory usage: linking cmd/compile with external
linking,

name             old allocs/op  new allocs/op  delta
Loadlibfull_GC     52.2MB ± 0%    13.9MB ± 0%  -73.40%  (p=0.008 n=5+5)

name             old live-B     new live-B     delta
Loadlibfull_GC      75.5M ± 0%     61.9M ± 0%  -18.02%  (p=0.008 n=5+5)

Change-Id: I317ecbf516063c42b255b2caba310ea6281342d7
Reviewed-on: https://go-review.googlesource.com/c/go/+/231319
Reviewed-by: Jeremy Faller <jeremy@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/link/internal/amd64/asm.go
src/cmd/link/internal/amd64/obj.go
src/cmd/link/internal/ld/elf.go
src/cmd/link/internal/ld/elf2.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/loader/loader.go