reflect: avoid zeroing memory that will be overwritten
reflect: avoid zeroing memory that will be overwritten

Avoid new'ing memory that will be overwritten by assignment.

name              old time/op    new time/op    delta
Call-4               160ns ± 4%     155ns ± 2%  -3.19%        (p=0.003 n=10+10)
FieldByName1-4      94.5ns ± 2%    95.2ns ± 1%  +0.65%          (p=0.026 n=9+9)
FieldByName2-4      3.09µs ± 4%    3.13µs ± 2%    ~           (p=0.165 n=10+10)
FieldByName3-4      19.8µs ± 1%    19.9µs ± 1%    ~            (p=0.395 n=10+8)
InterfaceBig-4      11.6ns ± 0%    11.7ns ± 0%  +0.86%          (p=0.000 n=8+9)
InterfaceSmall-4    11.7ns ± 0%    11.7ns ± 0%    ~     (all samples are equal)
New-4               26.6ns ± 0%    26.4ns ± 0%  -0.64%         (p=0.000 n=10+9)

name              old alloc/op   new alloc/op   delta
Call-4              0.00B ±NaN%    0.00B ±NaN%    ~     (all samples are equal)

name              old allocs/op  new allocs/op  delta
Call-4               0.00 ±NaN%     0.00 ±NaN%    ~     (all samples are equal)

Change-Id: I12c85d4e65245598669dd6f66beb0744ec9b9d6d
Reviewed-on: https://go-review.googlesource.com/28011
Run-TryBot: Dave Cheney <bfcdf3e6ca6cef45543bfbb57509c92aec9a39fb@cheney.net>
Reviewed-by: Ian Lance Taylor <87e9c6d529889242b7e184afb632328636553ab4@golang.org>
Reviewed-by: Brad Fitzpatrick <ae9783c0b0efc69cd85ab025ddd17aa44cdc4aa5@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>

golang/go,goodlang/good,vsekhar/elastic-go,ImJasonH/go,momchil-velikov/go,suncycheng/go,codestation/go,akutz/go,CAFxX/go,goodlang/good,nawawi/go,momchil-velikov/go,polyverse-security/go,polyverse-security/go,cloudflare/go,akutz/go,Cofyc/go,CAFxX/go,josharian/go,suncycheng/go,nawawi/go,derekmarcotte/go,josharian/go,derekmarcotte/go,golang/go,golang/go,derekmarcotte/go,golang/go,nawawi/go,codestation/go,josharian/go,vsekhar/elastic-go,momchil-velikov/go,momchil-velikov/go,suncycheng/go,vsekhar/elastic-go,christopher-henderson/Go,codestation/go,cloudflare/go,codestation/go,nawawi/go,linux-on-ibm-z/go,Cofyc/go,vsekhar/elastic-go,josharian/go,goodlang/good,Cofyc/go,derekmarcotte/go,akutz/go,ImJasonH/go,linux-on-ibm-z/go,CAFxX/go,suncycheng/go,nawawi/go,polyverse-security/go,Cofyc/go,linux-on-ibm-z/go,codestation/go,derekmarcotte/go,ImJasonH/go,momchil-velikov/go,codestation/go,cloudflare/go,nawawi/go,cloudflare/go,josharian/go,golang/go,codestation/go,golang/go,linux-on-ibm-z/go,momchil-velikov/go,cloudflare/go,nawawi/go,momchil-velikov/go,goodlang/good,ImJasonH/go,goodlang/good,golang/go,ImJasonH/go,akutz/go,derekmarcotte/go,CAFxX/go,suncycheng/go,codestation/go,akutz/go,derekmarcotte/go,CAFxX/go,linux-on-ibm-z/go,vsekhar/elastic-go,ImJasonH/go,Cofyc/go,suncycheng/go,vsekhar/elastic-go,golang/go,cloudflare/go,polyverse-security/go,josharian/go,cloudflare/go,akutz/go,polyverse-security/go,polyverse-security/go,CAFxX/go,goodlang/good,josharian/go,josharian/go,derekmarcotte/go,suncycheng/go,goodlang/good,Cofyc/go,ImJasonH/go,ImJasonH/go,linux-on-ibm-z/go,vsekhar/elastic-go,CAFxX/go,polyverse-security/go,CAFxX/go,polyverse-security/go,suncycheng/go,vsekhar/elastic-go,momchil-velikov/go,linux-on-ibm-z/go,Cofyc/go,cloudflare/go,akutz/go,akutz/go,linux-on-ibm-z/go,nawawi/go,goodlang/good,Cofyc/go