From: isharipo Date: Thu, 17 May 2018 16:45:49 +0000 (+0300) Subject: cmd/link/internal/ld: don't call fieldtrack if it's not enabled X-Git-Tag: go1.11beta1~400 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=8bb391312c7c2c8cde57c083eeb4390f992e3d88;p=gostls13.git 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 Reviewed-by: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/cmd/link/internal/ld/main.go b/src/cmd/link/internal/ld/main.go index 8a812c924a..bfa3f70a9e 100644 --- a/src/cmd/link/internal/ld/main.go +++ b/src/cmd/link/internal/ld/main.go @@ -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()