1
0
mirror of https://github.com/golang/go synced 2024-11-18 11:34:45 -07:00

cmd/link/internal/ld: don't call fieldtrack if it's not enabled

If go toolchain is not built with GOEXPERIMENT=fieldtrack,
skip fieldtrack pass in the linker as it does full symtab traversal.

For linking "hello world" example from net/http:

	name      old time/op  new time/op  delta
	Linker-4   530ms ± 2%   525ms ± 2%  -1.03%  (p=0.028 n=17+19)

Fixes #20318
Updates #14624

Change-Id: I99336513db77d13f95f47d27339d76f01c42a5da
Reviewed-on: https://go-review.googlesource.com/113635
Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
isharipo 2018-05-17 19:45:49 +03:00 committed by Brad Fitzpatrick
parent d2c68bb65f
commit 8bb391312c

View File

@ -202,7 +202,9 @@ func Main(arch *sys.Arch, theArch Arch) {
ctxt.dostrdata()
deadcode(ctxt)
fieldtrack(ctxt)
if objabi.Fieldtrack_enabled != 0 {
fieldtrack(ctxt)
}
ctxt.callgraph()
ctxt.doelf()